1 #ifndef CASM_MonteCarloEnum_impl
2 #define CASM_MonteCarloEnum_impl
13 template <
typename MonteTypeSettings,
typename MonteCarloType>
19 m_sample_mode(
set.enumeration_sample_mode()),
21 m_check_args(
set.enumeration_check_args()),
22 m_metric_args(
set.enumeration_metric_args()),
23 m_check_existence(
set.enumeration_check_existence()),
24 m_insert_canonical(
set.enumeration_insert_canonical()),
27 "potential_energy",
"potential_energy",
47 std::less<Configuration>(),
set.enumeration_N_halloffame(),
48 set.enumeration_tol()));
void custom(const std::string &what)
std::map< std::string, std::pair< bool, double > > m_data
holds 'is_new, score' data
bool m_check_existence
If true, only keep configurations that are not enumerated already.
MonteCarloEnum(const PrimClex &primclex, const MonteTypeSettings &settings, Log &log, MonteCarloType &mc)
ENUM_SAMPLE_MODE m_sample_mode
when to attempt to insert configurations in the hall of fame
std::string metric_args() const
notstd::cloneable_ptr< HallOfFameType > m_halloffame
Use for enumerating configurations via Monte Carlo.
notstd::cloneable_ptr< MonteCarloEnumCheck > m_enum_check
Use for enumerating configurations via Monte Carlo.
void reset()
Clear hall of fame and reset excluded.
HallOfFame< Configuration, MonteCarloEnumMetric > HallOfFameType
DataFormatterDictionary< Configuration > m_dict
Used for various purposes.
std::string check_args() const
bool m_insert_canonical
If true, insert configurations in canonical form.
PrimClex is the top-level data structure for a CASM project.
ConfigIO::GenericConfigFormatter< jsonParser > config()