Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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:
41  double m_beta;
42  double m_c_plaq;
43  double m_c_rect;
44  std::string m_label;
45 
50 
51  public:
53  : Action()
54  {
55  m_force_G = Force_G::New("Force_G_Rectangle");
56  }
57 
59  {
60  delete m_force_G;
61  }
62 
63  void set_parameters(const Parameters& params);
64  void set_parameters(const double beta,
65  const double c_plaq, const double c_rect);
66 
67  void set_label(const std::string label)
68  {
69  m_label = label;
70  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
71  }
72 
73  std::string get_label()
74  {
75  return m_label;
76  }
77 
78  void set_config(Field *U)
79  {
80  m_U = (Field_G *)U;
81  }
82 
83  double langevin(RandomNumbers *);
84 
85  double calcH();
86 
87  void force(Field&);
88 
89 #ifdef USE_FACTORY
90  private:
91  static Action *create_object()
92  {
93  return new Action_G_Rectangle();
94  }
95 
96  public:
97  static bool register_factory()
98  {
99  return Action::Factory::Register("Action_G_Rectangle", create_object);
100  }
101 #endif
102 };
103 #endif
BridgeIO vout
Definition: bridgeIO.cpp:503
double langevin(RandomNumbers *)
Langevis step.
void detailed(const char *format,...)
Definition: bridgeIO.cpp:216
std::string get_label()
HMC action class for rectangular gauge action.
Container of Field-type object.
Definition: field.h:45
ShiftField_lex m_shift
Class for parameters.
Definition: parameters.h:46
Base class of HMC action class family.
Definition: action.h:36
double calcH()
calculate Hamiltonian of this action term.
Staple construction.
Definition: staple_lex.h:39
SU(N) gauge field.
Definition: field_G.h:38
Base class of gauge force calculation.
Definition: force_G.h:31
static const std::string class_name
void set_parameters(const Parameters &params)
Bridge::VerboseLevel m_vl
Definition: action.h:75
Base class of random number generators.
Definition: randomNumbers.h:43
Methods to shift a field in the lexical site index.
void set_config(Field *U)
setting pointer to the gauge configuration.
void force(Field &)
returns force for molcular dynamical update of conjugate momenta.
void set_label(const std::string label)