17 return std::unique_ptr<SymOpRepresentation>(res);
54 for (
Index i = 0; i < _rep_IDs.
size(); i++) {
75 for (i = 0; i < trep.size(); i++) {
76 if (
this == trep[i]) {
104 "In SymOpRepresentation::ind_inverse(), head_group is uninitialized!!");
112 "In SymOpRepresentation::ind_prod(), head_group is uninitialized!!");
Basic std::vector like container (deprecated)
void set_rep(SymGroupRepID _rep_ID, SymOpRepresentation const &_op_rep, Index op_index) const
SymGroupRep const & representation(SymGroupRepID i) const
Const access of alternate Representations of a SymGroup.
SymBasisPermute describes how a symmetry operation permutes atoms in a basis.
Index ind_inverse(Index i) const
Get index of operation that is inverse of operation at(i)
Index ind_prod(Index i, Index j) const
Get index of operation that is result of multiplication of at(i)*at(j)
SymGroupRep is an alternative representation of a SymGroup for something other than real space....
Type-safe ID object for communicating and accessing Symmetry representation info.
bool empty() const
Returns true if SymGroupRepID has not been initialized with valid group_index or rep_index.
SymOpRepresentation is the base class for anything describes a symmetry operation.
virtual SymOpRepresentation * inverse_impl() const
SymBasisPermute const * get_basis_permute_rep(SymGroupRepID _rep_ID) const
get pointer to BasisPermute representation corresponding to _rep_ID
Array< Eigen::MatrixXd const * > get_matrix_reps(Array< SymGroupRepID > _rep_IDs) const
MasterSymGroup const * m_master_group
Pointer to the MasterSymGroup where prototype of this SymOp lives.
SymOpRepresentation const & representation(SymGroupRepID _rep_ID) const
const MasterSymGroup & master_group() const
const access of head group
Index ind_prod(const SymOpRepresentation &RHS) const
void set_identifiers(const MasterSymGroup &new_group, SymGroupRepID new_rep_ID)
Change m_master_group and determine op_index.
void set_rep(SymGroupRepID _rep_ID, const SymOpRepresentation &op_rep) const
set representation for SymOp corresponding to _rep_ID
Eigen::MatrixXd const * get_matrix_rep(SymGroupRepID _rep_ID) const
get pointer to matrix representation corresponding to rep_ID
Index ind_inverse() const
bool has_valid_master() const
check if this representation is registered with a MasterSymGroup
Index m_op_index
Index into MasterSymGroup that specifies the operation.
Permutation const * get_permutation_rep(SymGroupRepID _rep_ID) const
get pointer to permutation representation corresponding to _rep_ID
std::unique_ptr< SymOpRepresentation > inverse() const
void push_back(const T &toPush)
INDEX_TYPE Index
For long integer indexing: