Bridge++  Ver. 2.0.2
action_G_Plaq.h
Go to the documentation of this file.
1 
14 #ifndef ACTION_G_PLAQ_INCLUDED
15 #define ACTION_G_PLAQ_INCLUDED
16 
17 #include "Action/action.h"
19 
20 #include "IO/bridgeIO.h"
21 using Bridge::vout;
22 
24 
33 class Action_G_Plaq : public Action
34 {
35  public:
36  static const std::string class_name;
37 
38  private:
40 
41  double m_beta;
42  std::string m_label;
43 
47 
48  public:
50  : m_vl(CommonParameters::Vlevel())
51  {
52  m_force_G = Force_G::New("Force_G_Plaq");
53  }
54 
55  Action_G_Plaq(const Parameters& params)
56  : m_vl(CommonParameters::Vlevel())
57  {
58  // m_force_G = Force_G::New("Force_G_Plaq");
59  m_force_G = new Force_G_Plaq(params);
60  set_parameters(params);
61  }
62 
64  {
65  delete m_force_G;
66  }
67 
68  void set_parameters(const Parameters& params);
69  void set_parameters(const double beta);
70 
71  void get_parameters(Parameters& params) const;
72 
73  void set_label(std::string label)
74  {
75  m_label = label;
76  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
77  }
78 
79  std::string get_label()
80  {
81  return m_label;
82  }
83 
84  void set_config(Field *U)
85  {
86  m_U = (Field_G *)U;
87  }
88 
89  double langevin(RandomNumbers *);
90 
91  double calcH();
92 
93  void force(Field&);
94 
95 #ifdef USE_FACTORY
96  private:
97  static Action *create_object()
98  {
99  return new Action_G_Plaq();
100  }
101 
102  static Action *create_object_with_params(const Parameters& params)
103  {
104  return new Action_G_Plaq(params);
105  }
106 
107  public:
108  static bool register_factory()
109  {
110  bool init = true;
111  init &= Action::Factory::Register("Action_G_Plaq", create_object);
112  init &= Action::Factory_params::Register("Action_G_Plaq", create_object_with_params);
113  return init;
114  }
115 #endif
116 };
117 #endif
Action_G_Plaq::langevin
double langevin(RandomNumbers *)
Langevis step.
Definition: action_G_Plaq.cpp:76
bridgeIO.h
Action_G_Plaq
HMC action class for plaquette gauge action.
Definition: action_G_Plaq.h:33
Action_G_Plaq::m_vl
Bridge::VerboseLevel m_vl
Definition: action_G_Plaq.h:39
Action_G_Plaq::~Action_G_Plaq
~Action_G_Plaq()
Definition: action_G_Plaq.h:63
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Action_G_Plaq::m_beta
double m_beta
Definition: action_G_Plaq.h:41
Parameters
Class for parameters.
Definition: parameters.h:46
Action_G_Plaq::set_label
void set_label(std::string label)
Definition: action_G_Plaq.h:73
Bridge::BridgeIO::detailed
void detailed(const char *format,...)
Definition: bridgeIO.cpp:219
RandomNumbers
Base class of random number generators.
Definition: randomNumbers.h:43
Force_G
Base class of gauge force calculation.
Definition: force_G.h:31
Action_G_Plaq::get_parameters
void get_parameters(Parameters &params) const
Definition: action_G_Plaq.cpp:52
Action_G_Plaq::set_config
void set_config(Field *U)
setting pointer to the gauge configuration.
Definition: action_G_Plaq.h:84
Action_G_Plaq::set_parameters
void set_parameters(const Parameters &params)
Definition: action_G_Plaq.cpp:25
Action
Base class of HMC action class family.
Definition: action.h:36
action.h
Action_G_Plaq::m_label
std::string m_label
Definition: action_G_Plaq.h:42
Action_G_Plaq::calcH
double calcH()
calculate Hamiltonian of this action term.
Definition: action_G_Plaq.cpp:85
Action_G_Plaq::m_force_G
Force_G * m_force_G
Definition: action_G_Plaq.h:46
Action_G_Plaq::get_label
std::string get_label()
Definition: action_G_Plaq.h:79
Action_G_Plaq::class_name
static const std::string class_name
Definition: action_G_Plaq.h:36
force_G_Plaq.h
Action_G_Plaq::m_U
Field_G * m_U
Definition: action_G_Plaq.h:44
Action_G_Plaq::force
void force(Field &)
returns force for molcular dynamical update of conjugate momenta.
Definition: action_G_Plaq.cpp:104
Staple_lex
Staple construction.
Definition: staple_lex.h:39
Force_G_Plaq
HMC force class for plaquette gauge action.
Definition: force_G_Plaq.h:33
Action_G_Plaq::m_staple
Staple_lex m_staple
Definition: action_G_Plaq.h:45
Field
Container of Field-type object.
Definition: field.h:46
Action_G_Plaq::Action_G_Plaq
Action_G_Plaq()
Definition: action_G_Plaq.h:49
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Action_G_Plaq::Action_G_Plaq
Action_G_Plaq(const Parameters &params)
Definition: action_G_Plaq.h:55
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512