Bridge++  Ver. 2.0.2
builder_Integrator.h
Go to the documentation of this file.
1 
14 #ifndef BUILDER_INTEGRATOR_INCLUDED
15 #define BUILDER_INTEGRATOR_INCLUDED
16 
17 #include <cassert>
18 
19 #include "action_list.h"
20 #include "integrator.h"
21 
22 #include "IO/bridgeIO.h"
23 using Bridge::vout;
24 
26 
40 {
41  public:
42  static const std::string class_name;
43 
44  protected:
46 
47  private:
48  std::vector<int> m_Nstep;
49 
50  int m_Nprec;
52 
53  std::string m_str_integrator_type;
54 
56  std::vector<Director *> m_director;
57 
58 
59  std::vector<Integrator *> m_integs;
60 
61  public:
63  Builder_Integrator(const ActionList& action_list,
64  std::vector<Director *> director = std::vector<Director *>());
65 
66  Builder_Integrator(const ActionList& action_list,
67  std::vector<Director *> director,
68  const Parameters& params);
69 
70  Builder_Integrator(const ActionList& action_list,
71  const Parameters& params);
72 
75  {
76  tidyup();
77  }
78 
79  private:
80  // non-copyable
83 
84  public:
85  void set_parameters(const Parameters& params);
86  void set_parameters(const std::string str_integrator_type,
87  const std::vector<int>& Nstep,
88  const int Nprec,
89  const double lambda_Omelyan);
90 
92 
93  void get_parameters(Parameters& params) const;
94 
95  Integrator *build();
96 
99 
100  void tidyup();
101 };
102 #endif
Builder_Integrator::m_integs
std::vector< Integrator * > m_integs
Integrator to be constructed.
Definition: builder_Integrator.h:59
bridgeIO.h
Builder_Integrator::m_lambda_Omelyan
double m_lambda_Omelyan
Definition: builder_Integrator.h:51
Builder_Integrator::~Builder_Integrator
~Builder_Integrator()
destructor
Definition: builder_Integrator.h:74
Parameters
Class for parameters.
Definition: parameters.h:46
Builder_Integrator::m_actions
ActionList m_actions
Definition: builder_Integrator.h:55
Builder_Integrator::set_parameter_verboselevel
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Definition: builder_Integrator.h:91
action_list.h
ActionList
lists of actions at respective integrator levels.
Definition: action_list.h:40
Builder_Integrator::m_Nprec
int m_Nprec
precision parameter of exponentiation
Definition: builder_Integrator.h:50
Builder_Integrator
Builder of MD integrator for HMC.
Definition: builder_Integrator.h:39
ParameterCheck::vl
Bridge::VerboseLevel vl
Definition: parameterCheck.cpp:18
Builder_Integrator::m_Nstep
std::vector< int > m_Nstep
Number of steps at each level.
Definition: builder_Integrator.h:48
Builder_Integrator::set_parameters
void set_parameters(const Parameters &params)
Definition: builder_Integrator.cpp:79
Builder_Integrator::m_director
std::vector< Director * > m_director
Definition: builder_Integrator.h:56
Builder_Integrator::class_name
static const std::string class_name
Definition: builder_Integrator.h:42
Builder_Integrator::build
Integrator * build()
Definition: builder_Integrator.cpp:174
Builder_Integrator::m_vl
Bridge::VerboseLevel m_vl
Definition: builder_Integrator.h:45
Builder_Integrator::get_parameters
void get_parameters(Parameters &params) const
Definition: builder_Integrator.cpp:123
Builder_Integrator::build_leapfrog
Integrator * build_leapfrog()
Definition: builder_Integrator.cpp:193
integrator.h
Builder_Integrator::operator=
Builder_Integrator & operator=(const Builder_Integrator &)
Builder_Integrator::tidyup
void tidyup()
Definition: builder_Integrator.cpp:261
Builder_Integrator::build_omelyan
Integrator * build_omelyan()
Definition: builder_Integrator.cpp:227
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Integrator
Base class of Integrator class family.
Definition: integrator.h:29
Builder_Integrator::m_str_integrator_type
std::string m_str_integrator_type
Definition: builder_Integrator.h:53
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
Builder_Integrator::Builder_Integrator
Builder_Integrator(const ActionList &action_list, std::vector< Director * > director=std::vector< Director * >())
constructor with ActionList
Definition: builder_Integrator.cpp:24