CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <SymOpRepresentation.hh>
SymOpRepresentation is the base class for anything describes a symmetry operation.
Definition at line 28 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 * | permutation () const |
virtual Eigen::MatrixXd const * | MatrixXd () const |
virtual SymBasisPermute const * | ucc_permutation () const |
std::unique_ptr< SymOpRepresentation > | inverse () const |
SymOpRepresentation const & | representation (SymGroupRepID _rep_ID) 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 |
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 | master_group_index () const |
Index of this operation within the master_group. More... | |
SymGroupRepID | rep_ID () const |
Index | ind_inverse () const |
Index | ind_prod (const SymOpRepresentation &RHS) const |
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... | |
virtual SymOpRepresentation * | inverse_impl () const |
virtual void | _set_integral_tau () |
Protected Attributes | |
MasterSymGroup const * | m_master_group |
Pointer to the MasterSymGroup where prototype of this SymOp lives. More... | |
SymGroupRepID | m_rep_ID |
Index | m_op_index |
Index into MasterSymGroup that specifies the operation. More... | |
|
inline |
Definition at line 30 of file SymOpRepresentation.hh.
|
inline |
Definition at line 34 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 41 of file SymOpRepresentation.hh.
|
inlineprotected |
Protected constructor to allow internal construction of masterless symops.
Definition at line 116 of file SymOpRepresentation.hh.
|
inlineprotectedvirtual |
Reimplemented in CASM::SymOp.
Definition at line 130 of file SymOpRepresentation.hh.
|
inlinevirtual |
Calculates character of the representation (if well-defined)
Reimplemented in CASM::SymPermutation, CASM::SymOp, and CASM::SymMatrixXd.
Definition at line 47 of file SymOpRepresentation.hh.
|
pure virtual |
Make copy of Derived object through Base-class interface.
Implemented in CASM::SymPermutation, CASM::SymOp, CASM::SymMatrixXd, and CASM::SymBasisPermute.
SymBasisPermute const * CASM::SymOpRepresentation::get_basis_permute_rep | ( | SymGroupRepID | _rep_ID | ) | const |
get pointer to BasisPermute representation corresponding to _rep_ID
Definition at line 36 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 28 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 51 of file SymOpRepresentation.cc.
Permutation const * CASM::SymOpRepresentation::get_permutation_rep | ( | SymGroupRepID | _rep_ID | ) | const |
get pointer to permutation representation corresponding to _rep_ID
Definition at line 43 of file SymOpRepresentation.cc.
|
inline |
check if this representation is registered with a MasterSymGroup
Definition at line 91 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 101 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 110 of file SymOpRepresentation.cc.
|
inline |
Index of this operation within the master_group (equivalent to master_group_index)
Definition at line 97 of file SymOpRepresentation.hh.
|
inline |
Definition at line 93 of file SymOpRepresentation.hh.
std::unique_ptr< SymOpRepresentation > CASM::SymOpRepresentation::inverse | ( | ) | const |
Definition at line 12 of file SymOpRepresentation.cc.
|
inlineprotectedvirtual |
Reimplemented in CASM::SymPermutation.
Definition at line 124 of file SymOpRepresentation.hh.
|
inline |
const access of head group
Definition at line 85 of file SymOpRepresentation.hh.
|
inline |
Index of this operation within the master_group.
Definition at line 100 of file SymOpRepresentation.hh.
|
inlinevirtual |
Reimplemented in CASM::SymPermutation, and CASM::SymMatrixXd.
Definition at line 51 of file SymOpRepresentation.hh.
|
inlinevirtual |
Reimplemented in CASM::SymPermutation.
Definition at line 49 of file SymOpRepresentation.hh.
|
inline |
ID of representation that this operation belongs to within the master_group
Definition at line 104 of file SymOpRepresentation.hh.
SymOpRepresentation const & CASM::SymOpRepresentation::representation | ( | SymGroupRepID | _rep_ID | ) | const |
Definition at line 21 of file SymOpRepresentation.cc.
void CASM::SymOpRepresentation::set_identifiers | ( | const MasterSymGroup & | new_group, |
SymGroupRepID | new_rep_ID | ||
) |
Change m_master_group and determine op_index.
Definition at line 69 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 89 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 61 of file SymOpRepresentation.cc.
|
inlinevirtual |
Reimplemented in CASM::SymBasisPermute.
Definition at line 53 of file SymOpRepresentation.hh.
|
protected |
Pointer to the MasterSymGroup where prototype of this SymOp lives.
Definition at line 133 of file SymOpRepresentation.hh.
|
protected |
Index into MasterSymGroup that specifies the operation.
Definition at line 140 of file SymOpRepresentation.hh.
|
protected |
ID of this representation within the master_group. Default is uninitialized.
Definition at line 137 of file SymOpRepresentation.hh.