CASM
AClustersApproachtoStatisticalMechanics
|
#include <SymOpRepresentation.hh>
SymOpRepresentation is the base class for anything describes a symmetry operation.
Definition at line 23 of file SymOpRepresentation.hh.
Public Member Functions | |
SymOpRepresentation () | |
SymOpRepresentation (const MasterSymGroup &_master_group, SymGroupRepID _rep_ID, Index _op_index) | |
virtual | ~SymOpRepresentation () |
virtual SymOpRepresentation * | copy () const =0 |
Make copy of Derived object through Base-class interface. More... | |
virtual double | character () const |
Calculates character of the representation (if well-defined) More... | |
virtual Permutation const * | get_permutation () const |
virtual Eigen::MatrixXd const * | get_MatrixXd () const |
virtual SymBasisPermute const * | get_ucc_permutation () const |
Eigen::MatrixXd const * | get_matrix_rep (SymGroupRepID _rep_ID) const |
get pointer to matrix representation corresponding to rep_ID More... | |
Permutation const * | get_permutation_rep (SymGroupRepID _rep_ID) const |
get pointer to permutation representation corresponding to _rep_ID More... | |
SymBasisPermute const * | get_basis_permute_rep (SymGroupRepID _rep_ID) const |
get pointer to BasisPermute representation corresponding to _rep_ID More... | |
Array< Eigen::MatrixXd const * > | get_matrix_reps (Array< SymGroupRepID > _rep_IDs) const |
get array of pointers to matrix representations for representations corresponding to _rep_IDs More... | |
void | set_rep (SymGroupRepID _rep_ID, const SymOpRepresentation &op_rep) const |
set representation for SymOp corresponding to _rep_ID More... | |
void | set_identifiers (const MasterSymGroup &new_group, SymGroupRepID new_rep_ID) |
Change m_master_group and determine op_index. More... | |
void | set_identifiers (const MasterSymGroup &new_group, SymGroupRepID new_rep_ID, Index new_op_index) |
Set m_master_group, _rep_ID, and op_index. More... | |
const MasterSymGroup & | master_group () const |
const access of head group More... | |
bool | has_valid_master () const |
check if this representation is registered with a MasterSymGroup More... | |
void | invalidate_index () |
Index | index () const |
Index of this operation within the master_group. More... | |
SymGroupRepID | rep_ID () const |
ID of representation that this operation belongs to within the master_group. More... | |
Index | ind_inverse () const |
Get the operation index of the inverse of this operation, using the master_group's multiplication table. More... | |
Index | ind_prod (const SymOpRepresentation &RHS) const |
virtual jsonParser & | to_json (jsonParser &json) const =0 |
virtual void | from_json (const jsonParser &json)=0 |
Protected Member Functions | |
SymOpRepresentation (MasterSymGroup const *_master_group_ptr, SymGroupRepID _rep_ID, Index _op_index) | |
Protected constructor to allow internal construction of masterless symops. More... | |
Protected Attributes | |
MasterSymGroup const * | m_master_group |
Pointer to the MasterSymGroup where prototype of this SymOp lives. More... | |
SymGroupRepID | m_rep_ID |
ID of this representation within the master_group. Default is uninitialized. More... | |
Index | m_op_index |
Index into MasterSymGroup that specifies the operation. More... | |
|
inline |
Definition at line 25 of file SymOpRepresentation.hh.
|
inline |
Definition at line 27 of file SymOpRepresentation.hh.
|
inlinevirtual |
SymOpRepresentation specifies how a symmetry operation acts on a certain type of object. It is a virtual class, since we don't need to know the specifics of its behavior at higher levels of abstraction
Definition at line 32 of file SymOpRepresentation.hh.
|
inlineprotected |
Protected constructor to allow internal construction of masterless symops.
Definition at line 113 of file SymOpRepresentation.hh.
|
inlinevirtual |
Calculates character of the representation (if well-defined)
Reimplemented in CASM::SymOp, CASM::SymMatrixXd, and CASM::SymPermutation.
Definition at line 38 of file SymOpRepresentation.hh.
|
pure virtual |
Make copy of Derived object through Base-class interface.
Implemented in CASM::SymOp, CASM::SymBasisPermute, CASM::SymPermutation, and CASM::SymMatrixXd.
|
pure virtual |
Implemented in CASM::SymOp, CASM::SymBasisPermute, CASM::SymPermutation, and CASM::SymMatrixXd.
SymBasisPermute const * CASM::SymOpRepresentation::get_basis_permute_rep | ( | SymGroupRepID | _rep_ID | ) | const |
get pointer to BasisPermute representation corresponding to _rep_ID
Definition at line 16 of file SymOpRepresentation.cc.
Eigen::MatrixXd const * CASM::SymOpRepresentation::get_matrix_rep | ( | SymGroupRepID | _rep_ID | ) | const |
get pointer to matrix representation corresponding to rep_ID
Definition at line 9 of file SymOpRepresentation.cc.
Array< Eigen::MatrixXd const * > CASM::SymOpRepresentation::get_matrix_reps | ( | Array< SymGroupRepID > | _rep_IDs | ) | const |
get array of pointers to matrix representations for representations corresponding to _rep_IDs
Definition at line 29 of file SymOpRepresentation.cc.
|
inlinevirtual |
Reimplemented in CASM::SymPermutation, and CASM::SymMatrixXd.
Definition at line 46 of file SymOpRepresentation.hh.
|
inlinevirtual |
Reimplemented in CASM::SymPermutation.
Definition at line 42 of file SymOpRepresentation.hh.
Permutation const * CASM::SymOpRepresentation::get_permutation_rep | ( | SymGroupRepID | _rep_ID | ) | const |
get pointer to permutation representation corresponding to _rep_ID
Definition at line 22 of file SymOpRepresentation.cc.
|
inlinevirtual |
Reimplemented in CASM::SymBasisPermute.
Definition at line 50 of file SymOpRepresentation.hh.
|
inline |
check if this representation is registered with a MasterSymGroup
Definition at line 83 of file SymOpRepresentation.hh.
Index CASM::SymOpRepresentation::ind_inverse | ( | ) | const |
Get the operation index of the inverse of this operation, using the master_group's multiplication table.
Definition at line 76 of file SymOpRepresentation.cc.
Index CASM::SymOpRepresentation::ind_prod | ( | const SymOpRepresentation & | RHS | ) | const |
Get the operation index of operation that is the product of this operation and
RHS,using | the master_group's multiplication table |
Definition at line 83 of file SymOpRepresentation.cc.
|
inline |
Index of this operation within the master_group.
Definition at line 92 of file SymOpRepresentation.hh.
|
inline |
Definition at line 87 of file SymOpRepresentation.hh.
|
inline |
const access of head group
Definition at line 77 of file SymOpRepresentation.hh.
|
inline |
ID of representation that this operation belongs to within the master_group.
Definition at line 97 of file SymOpRepresentation.hh.
void CASM::SymOpRepresentation::set_identifiers | ( | const MasterSymGroup & | new_group, |
SymGroupRepID | new_rep_ID | ||
) |
Change m_master_group and determine op_index.
Definition at line 46 of file SymOpRepresentation.cc.
void CASM::SymOpRepresentation::set_identifiers | ( | const MasterSymGroup & | new_group, |
SymGroupRepID | new_rep_ID, | ||
Index | new_op_index | ||
) |
Set m_master_group, _rep_ID, and op_index.
Definition at line 66 of file SymOpRepresentation.cc.
void CASM::SymOpRepresentation::set_rep | ( | SymGroupRepID | _rep_ID, |
const SymOpRepresentation & | op_rep | ||
) | const |
set representation for SymOp corresponding to _rep_ID
Definition at line 39 of file SymOpRepresentation.cc.
|
pure virtual |
Implemented in CASM::SymOp, CASM::SymBasisPermute, CASM::SymPermutation, and CASM::SymMatrixXd.
|
protected |
Pointer to the MasterSymGroup where prototype of this SymOp lives.
Definition at line 117 of file SymOpRepresentation.hh.
|
protected |
Index into MasterSymGroup that specifies the operation.
Definition at line 123 of file SymOpRepresentation.hh.
|
protected |
ID of this representation within the master_group. Default is uninitialized.
Definition at line 120 of file SymOpRepresentation.hh.