CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <SymRepBuilder.hh>
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.
Public Member Functions | |
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 |
Private Member Functions | |
virtual SymRepBuilderInterface * | _clone () const =0 |
Private Attributes | |
std::string | m_name |
bool | m_time_reversal_active |
|
inline |
Interace class manages the name of the SymRepBuilder and whether it is affected by time-reversal (i.e., time_reversal_active() is true)
Definition at line 25 of file SymRepBuilder.hh.
|
inlinevirtual |
Virtual destructor allows deletion of derived classes through pointer to interface.
Definition at line 37 of file SymRepBuilder.hh.
|
privatepure virtual |
Implemented in CASM::dOrbitalOccupationSymRepBuilder, CASM::TimeReversalSwapSymRepBuilder, CASM::Rank2TensorSymRepBuilder, CASM::TimeReversalSymRepBuilder, CASM::AngularMomentumSymRepBuilder, CASM::IdentitySymRepBuilder, CASM::KroneckerSymRepBuilder< Builder1, Builder2, Dim1, Dim2 >, CASM::KroneckerSymRepBuilder< TimeReversalSwapSymRepBuilder, dOrbitalOccupationSymRepBuilder, 2, 15 >, CASM::CartesianSymRepBuilder, and CASM::NullSymRepBuilder.
|
inline |
Definition at line 61 of file SymRepBuilder.hh.
|
inline |
Returns name of SymRepBuilder type.
Definition at line 29 of file SymRepBuilder.hh.
|
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.
|
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.
|
inline |
Returns true if symmetry representation is affected by time-reversal.
Definition at line 33 of file SymRepBuilder.hh.
|
private |
Definition at line 68 of file SymRepBuilder.hh.
|
private |
Definition at line 69 of file SymRepBuilder.hh.