CASM  1.1.0
A Clusters Approach to Statistical Mechanics
SymInfo.hh
Go to the documentation of this file.
1 #ifndef CASM_SymInfo
2 #define CASM_SymInfo
3 
5 #include "casm/external/Eigen/Dense"
6 #include "casm/symmetry/SymOp.hh"
7 
8 namespace CASM {
9 
14 enum class symmetry_type {
16  mirror_op,
17  glide_op,
19  screw_op,
23 };
24 
26 struct SymInfo {
27  SymInfo(const SymOp &op, const xtal::Lattice &lat);
28 
32 
39 
42  double angle;
43 
47 
50 
53 
54  private:
57 
58  void _set(const vector_type &_axis, const vector_type &_screw_glide_shift,
59  const vector_type &_location, const xtal::Lattice &lat);
60 };
61 
63 } // namespace CASM
64 
65 #endif
SymOp is the Coordinate representation of a symmetry operation it keeps fraction (FRAC) and Cartesian...
Definition: SymOp.hh:28
Eigen::Matrix3d matrix_type
Definition: SymOp.hh:30
Eigen::Vector3d vector_type
Definition: SymOp.hh:31
Represents cartesian and fractional coordinates.
Definition: Coordinate.hh:34
symmetry_type
Definition: SymInfo.hh:14
Main CASM namespace.
Definition: APICommand.hh:8
Simple struct to be used as return type for SymOp::info().
Definition: SymInfo.hh:26
double angle
Definition: SymInfo.hh:42
xtal::Coordinate axis
Definition: SymInfo.hh:38
symmetry_type op_type
Definition: SymInfo.hh:31
xtal::Coordinate screw_glide_shift
Definition: SymInfo.hh:46
xtal::Coordinate location
A Cartesian coordinate that is invariant to the operation (if one exists)
Definition: SymInfo.hh:49
bool time_reversal
If time reversal symmetry.
Definition: SymInfo.hh:52
SymOp::vector_type vector_type
Definition: SymInfo.hh:55
SymInfo(const SymOp &op, const xtal::Lattice &lat)
Definition: SymInfo.cc:8
SymOp::matrix_type matrix_type
Definition: SymInfo.hh:56
void _set(const vector_type &_axis, const vector_type &_screw_glide_shift, const vector_type &_location, const xtal::Lattice &lat)
Definition: SymInfo.cc:128