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