1 #ifndef CASM_ConfigEnumSiteDoFs
2 #define CASM_ConfigEnumSiteDoFs
10 class ConfigEnumInput;
125 Eigen::Ref<const Eigen::MatrixXd>
const &_axes,
126 Eigen::Ref<const Eigen::VectorXd>
const &min_val,
127 Eigen::Ref<const Eigen::VectorXd>
const &max_val,
128 Eigen::Ref<const Eigen::VectorXd>
const &inc_val,
131 std::string
name()
const override;
notstd::cloneable_ptr< Configuration > m_current
static const std::string enumerator_name
void increment() override
Implements increment over all strain states.
ConfigEnumSiteDoFs(ConfigEnumInput const &_in_config, ConfigEnumSiteDoFsParams const ¶ms)
See ConfigEnumSiteDoFsParams for method and parameter details.
std::vector< Index > m_dof_dims
std::vector< Index > m_sites
LocalContinuousConfigDoFValues * m_dof_vals
std::string name() const override
Derived enumerators must implement name, via ENUM_MEMBERS.
EigenCounter< Eigen::VectorXd > m_counter
bool _check_sparsity() const
std::vector< Index > m_combo
bool _check_current() const
Returns true if current() is primitive and canonical.
A Counter allows looping over many incrementing variables in one loop.
A 'cloneable_ptr' can be used in place of 'unique_ptr'.
INDEX_TYPE Index
For long integer indexing: