Abstract base class that provides interface for converting cartesian isometry to specialized transformation matrix Given a symmetry operation as a 3x3 orthogonal matrix acting on Cartesian space, a 3x1 Cartesian translation, and a time-reversal flag (true indicates +t goes to -t and false indicates +t goes to +t), returns a particular NxN matrix transformation whose dimension and value depends on the underlying implementation.
Definition at line 21 of file SymRepBuilder.hh.
|
| SymRepBuilderInterface (std::string const &_name, bool _time_reversal_active) |
| Interace class manages the name of the SymRepBuilder and whether it is affected by time-reversal (i.e., time_reversal_active() is true) More...
|
|
std::string const & | name () const |
| Returns name of SymRepBuilder type. More...
|
|
bool | time_reversal_active () const |
| Returns true if symmetry representation is affected by time-reversal. More...
|
|
virtual | ~SymRepBuilderInterface () |
| Virtual destructor allows deletion of derived classes through pointer to interface. More...
|
|
virtual Eigen::MatrixXd | symop_to_matrix (Eigen::Ref< const Eigen::Matrix3d > const &_matrix, Eigen::Ref< const Eigen::Vector3d > const &_tau, bool time_reversal, Index dim) const =0 |
| Given the 3x3 rotation/rotoreflection matrix, translation vector 'tau', and time_reversal operator of Cartesian SymOp, constructs a dim x dim matrix representation of the symop Derived implementations may require that dim have a specific value, or fall within a range of allowed values. More...
|
|
virtual Eigen::MatrixXcd | symop_to_complex_matrix (Eigen::Ref< const Eigen::Matrix3d > const &_matrix, Eigen::Ref< const Eigen::Vector3d > const &_tau, bool time_reversal, Index dim) const |
| Given the 3x3 rotation/rotoreflection matrix, translation vector 'tau', and time_reversal operator of Cartesian SymOp, constructs a dim x dim complexmatrix representation of the symop Derived implementations may require that dim have a specific value, or fall within a range of allowed values. More...
|
|
std::unique_ptr< SymRepBuilderInterface > | clone () const |
|
virtual Eigen::MatrixXcd CASM::SymRepBuilderInterface::symop_to_complex_matrix |
( |
Eigen::Ref< const Eigen::Matrix3d > const & |
_matrix, |
|
|
Eigen::Ref< const Eigen::Vector3d > const & |
_tau, |
|
|
bool |
time_reversal, |
|
|
Index |
dim |
|
) |
| const |
|
inlinevirtual |
Given the 3x3 rotation/rotoreflection matrix, translation vector 'tau', and time_reversal operator of Cartesian SymOp, constructs a dim x dim complexmatrix representation of the symop Derived implementations may require that dim have a specific value, or fall within a range of allowed values.
Definition at line 53 of file SymRepBuilder.hh.
virtual Eigen::MatrixXd CASM::SymRepBuilderInterface::symop_to_matrix |
( |
Eigen::Ref< const Eigen::Matrix3d > const & |
_matrix, |
|
|
Eigen::Ref< const Eigen::Vector3d > const & |
_tau, |
|
|
bool |
time_reversal, |
|
|
Index |
dim |
|
) |
| const |
|
pure virtual |
Given the 3x3 rotation/rotoreflection matrix, translation vector 'tau', and time_reversal operator of Cartesian SymOp, constructs a dim x dim matrix representation of the symop Derived implementations may require that dim have a specific value, or fall within a range of allowed values.
Implemented in CASM::Rank2TensorSymRepBuilder, CASM::dOrbitalOccupationSymRepBuilder, CASM::TimeReversalSwapSymRepBuilder, CASM::TimeReversalSymRepBuilder, CASM::AngularMomentumSymRepBuilder, CASM::IdentitySymRepBuilder, CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >, CASM::KroneckerSymRepBuilder< TimeReversalSwapSymRepBuilder, dOrbitalOccupationSymRepBuilder, 2, 15 >, CASM::CartesianSymRepBuilder, and CASM::NullSymRepBuilder.