10 m_fg_permute_rep(iter.m_fg_permute_rep),
11 m_prim_grid(iter.m_prim_grid),
12 m_trans_permute(&(m_prim_grid->translation_permutations())),
13 m_factor_group_index(iter.m_factor_group_index),
14 m_translation_index(iter.m_translation_index) {
20 Index _factor_group_index,
21 Index _translation_index) :
22 m_fg_permute_rep(_fg_permute_rep),
23 m_prim_grid(&_prim_grid),
24 m_trans_permute(&(m_prim_grid->translation_permutations())),
25 m_factor_group_index(_factor_group_index),
26 m_translation_index(_translation_index) {
47 assert(before_array.
size() ==
factor_group_permute().
size() &&
"WARNING: You're trying to permute an Array with an incompatible permutation!");
52 for(
int i = 0; i < before_array.
size(); i++) {
PrimGrid const * m_prim_grid
m_prim_grid holds permutation representation of lattice translations acting on sites of the supercell...
bool operator<(const PermuteIterator &iter) const
Index ind_prod(Index i, Index j) const
void from_json(ClexDescription &desc, const jsonParser &json)
jsonParser & to_json(const ClexDescription &desc, jsonParser &json)
bool _eq(const PermuteIterator &iter) const
PermuteIterator & operator++()
void from_json(const jsonParser &json)
PermuteIterator & operator--()
Index permute_ind(Index i) const
PermuteIterator inverse() const
const SymOp & sym_op(Index i) const
void swap(ConfigDoF &A, ConfigDoF &B)
const Permutation & factor_group_permute() const
Return the factor group permutation being pointed at.
void swap(PermuteIterator &a, PermuteIterator &b)
Index m_factor_group_index
SymOp is the Coordinate representation of a symmetry operation it keeps fraction (FRAC) and Cartesian...
EigenIndex Index
For long integer indexing:
Index ind_inverse(Index i) const
const T & permute_by_bit(Index i, const Array< T > &before_array) const
Return after_array[i], given i and before_array.
ReturnArray< T > permute(const Array< T > &before_array) const
Apply the combined factor_group permutation and translation permutation being pointed at...
const Permutation & translation_permute() const
Return the translation permutation being pointed at.
PermuteIterator begin_next_fg_op() const
const PermuteIterator & operator*() const
Returns the combination of factor_group permutation and translation permutation.
PermuteIterator & operator=(PermuteIterator iter)
Array< Permutation > const * m_trans_permute
m_trans_permute points to the Array
of translation permutations inside of m_prim_grid (t...
Index m_translation_index
Permutation const * get_permutation(Index i) const
jsonParser & put_obj()
Puts new empty JSON object.
void reserve(Index new_max)
Index translation_index() const
Return the index into m_prim_grid of the translation being pointed at.
friend void swap(PermuteIterator &a, PermuteIterator &b)
jsonParser & to_json(jsonParser &json) const
Index factor_group_index() const
Return the index into m_factor_group_permute of the factor group op being pointed at...
Index find_cart(const Eigen::Ref< const Eigen::Vector3d > &_cart_coord) const
Basic std::vector like container (deprecated)
Permutation combined_permute() const
Returns the combination of factor_group permutation and translation permutation.
SymGroupRep::RemoteHandle m_fg_permute_rep
permutation representation of factor group acting on sites of the supercell