4 #include "casm/external/MersenneTwister/MersenneTwister.h"
9 MTRand &_mtrand,
DoFKey _dof_key,
Index _n_config,
double _mag,
10 bool _normal_distribution)
15 normal_distribution(_normal_distribution) {}
21 params.mag, params.normal_distribution,
26 Index _n_config,
double _mag,
27 bool _normal, MTRand &_mtrand)
28 : m_n_config(_n_config),
32 m_unit_length(DoF::
BasicTraits(_dof_key).unit_length()),
33 m_site_selection(_in_config.sites().begin(), _in_config.sites().end()) {
37 throw std::runtime_error(
"Error in ConfigEnumRandomLocal: n_config < 0");
71 "ConfigEnumRandomLocal";
Enumerate random values for continuous degrees of freedom.
std::vector< Index > m_dof_dims
std::string name() const override
Derived enumerators must implement name, via ENUM_MEMBERS.
notstd::cloneable_ptr< Configuration > m_current
static const std::string enumerator_name
LocalContinuousConfigDoFValues * m_dof_vals
void increment() override
Implements increment.
std::vector< Index > m_site_selection
ConfigEnumRandomLocal(ConfigEnumInput const &_in_config, ConfigEnumRandomLocalParams const ¶ms)
std::vector< DoFSetInfo > const & info() const
DoFSetInfo provides the basis and symmetry representations for values
SiteReference site_value(Index l)
Access site DoF value vector.
virtual jsonParser source(step_type step) const
void _invalidate()
Call if enumeration complete.
void _increment_step()
Increment current step value.
step_type step() const
Increments with each enumerated object.
void _set_step(step_type val)
Set current step value.
Configuration const & configuration() const
AnisoValTraits BasicTraits
void reset_properties(ConfigType &config)
INDEX_TYPE Index
For long integer indexing:
Parameters controlling ConfigEnumRandomLocal.
ConfigEnumRandomLocalParams(MTRand &_mtrand, DoFKey _dof_key, Index _n_config, double _mag, bool _normal_distribution)