1 #ifndef CASM_ConfigIsEquivalent
2 #define CASM_ConfigIsEquivalent
15 class ConfigIsEquivalent {
29 if(
config().has_deformation()) {
30 m_global_eq.push_back(make_dof_is_equivalent<DoFIsEquivalent::Strain>(_config, _tol));
33 if(
config().has_occupation()) {
34 m_site_eq.push_back(make_dof_is_equivalent<DoFIsEquivalent::Occupation>(_config));
37 if(
config().has_displacement()) {
38 m_site_eq.push_back(make_dof_is_equivalent<DoFIsEquivalent::Displacement>(_config, _tol));
85 for(
const auto &s :
site_eq()) {
106 for(
const auto &s :
site_eq()) {
130 for(
const auto &s :
site_eq()) {
const eq_container & global_eq() const
const eq_container & site_eq() const
const ConfigDoF & configdof() const
const Access the DoF
eq_container & global_eq()
ConfigIsEquivalent(const Configuration &_config, double _tol)
bool operator()(const PermuteIterator &A, const PermuteIterator &B) const
Check if A*config == B*config, store A*config < B*config.
bool is_less() const
Returns less than comparison.
bool operator()(const Configuration &other) const
Check if config == other, store config < other.
bool operator()(const PermuteIterator &A) const
Check if config == A*config, store config < A*config.
Index factor_group_index() const
Return the index into m_factor_group_permute of the factor group op being pointed at...
std::vector< ConfigDoFIsEquivalent > eq_container
const Configuration * m_config
const Configuration & config() const
A Configuration represents the values of all degrees of freedom in a Supercell.