1 #ifndef CASM_ConfigEnumRandomOccupations
2 #define CASM_ConfigEnumRandomOccupations
9 #include "casm/external/MersenneTwister/MersenneTwister.h"
16 class ConfigEnumInput;
46 Index _n_config, MTRand &_mtrand);
48 std::string
name()
const override;
Enumerate n random occupations in a particular Supercell.
Eigen::VectorXi m_max_allowed
void increment() override
Implements increment.
ConfigEnumRandomOccupations(ConfigEnumInput const &_in_config, ConfigEnumRandomOccupationsParams const ¶ms)
std::vector< Index > m_site_selection
static const std::string enumerator_name
std::string name() const override
Derived enumerators must implement name, via ENUM_MEMBERS.
notstd::cloneable_ptr< Configuration > m_current
A 'cloneable_ptr' can be used in place of 'unique_ptr'.
INDEX_TYPE Index
For long integer indexing:
Parameters controlling ConfigEnumRandomOccupations.
ConfigEnumRandomOccupationsParams(MTRand &_mtrand, Index _n_config)
MTRand & mtrand
Random number generator.
Index n_config
Number of random configurations to generate.