40 #ifdef USE_PARAMETERS_FACTORY
56 m_lambda_Omelyan(0.0),
57 m_str_integrator_type(
""),
58 m_actions(action_list),
71 const std::string str_vlevel = params.
get_string(
"verbose_level");
76 std::string str_integrator_type;
78 std::vector<int> Nstep;
81 double lambda_Omelyan;
86 err += params.
fetch_string(
"integrator", str_integrator_type);
93 err += params.
fetch_int(
"order_of_exp_iP", Nprec);
96 err += params.
fetch_double(
"lambda_Omelyan", lambda_Omelyan);
107 set_parameters(str_integrator_type, Nstep, Nprec, lambda_Omelyan);
113 const std::vector<int>& Nstep,
115 const double lambda_Omelyan)
120 for (
int lv = 0; lv < Nstep.size(); ++lv) {
180 for (
int lv =
m_Nstep.size() - 1; lv >= 0; --lv) {
214 for (
int lv =
m_Nstep.size() - 1; lv >= 0; --lv) {
237 for (
size_t i = 0, n =
m_integs.size(); i < n; ++i) {
void Register_int_vector(const string &, const std::vector< int > &)
Integrator * build_leapfrog()
void Register_string(const string &, const string &)
std::vector< int > m_Nstep
Number of steps at each level.
void set_parameters(const Parameters ¶ms)
void general(const char *format,...)
void Register_int(const string &, const int)
Bridge::VerboseLevel m_vl
void set_parameters(const Parameters ¶ms)
void set_parameters(const Parameters ¶ms)
std::vector< Director * > m_director
int m_Nprec
precision parameter of exponentiation
void append_notify(Integrator *const integ)
Base class of Integrator class family.
ActionSet get_actions() const
Parameters_Builder_Integrator()
void set_parameters(const Parameters ¶ms)
Builder_Integrator(const ActionList &action_list, std::vector< Director * > director=std::vector< Director * >())
constructor with ActionList
std::string m_str_integrator_type
static const std::string class_name
std::vector< Integrator * > m_integs
Integrator to be constructed.
Integrator * build_omelyan()
int fetch_string(const string &key, string &val) const
Common parameter class: provides parameters as singleton.
int non_NULL(const std::string v)
void crucial(const char *format,...)
lists of actions at respective integrator levels.
static bool Register(const std::string &realm, const creator_callback &cb)
int non_zero(const double v)
std::string get_integrator_type(const int level) const
void Register_double(const string &, const double)
int fetch_double(const string &key, double &val) const
string get_string(const string &key) const
int fetch_int(const string &key, int &val) const
static VerboseLevel set_verbose_level(const std::string &str)
int fetch_int_vector(const string &key, std::vector< int > &val) const