Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
action_F_Ratio_lex.h
Go to the documentation of this file.
1 
14 #ifndef ACTION_F_RATIO_LEX_INCLUDED
15 #define ACTION_F_RATIO_LEX_INCLUDED
16 
17 #include "action.h"
18 #include "fprop.h"
19 
20 #include "bridgeIO.h"
21 using Bridge::vout;
22 
24 
35 class Action_F_Ratio_lex : public Action
36 {
37  public:
38  static const std::string class_name;
39 
40  private:
43 
44  Fopr *m_fopr_prec; // preconditioner
45  Force *m_fopr_prec_force; // force of preconditioner
46  Fopr *m_fopr; // dynamical fermion
47  Force *m_fopr_force; // force of dynamical fermion
48  Field m_psf; // pseudofermion field
49  std::string m_label; // label of action
51 
55 
57 
58 
59  public:
60 
62  Fopr *fopr_prec, Force *fopr_prec_force,
63  Fopr *fopr, Force *fopr_force,
64  Fprop *fprop_H_prec,
65  Fprop *fprop_MD, Fprop *fprop_H)
66  : Action(),
67  m_fopr_prec(fopr_prec), m_fopr_prec_force(fopr_prec_force),
68  m_fopr(fopr), m_fopr_force(fopr_force),
69  m_fprop_H_prec(fprop_H_prec),
70  m_fprop_MD(fprop_MD), m_fprop_H(fprop_H)
71  {
73  }
74 
76 
77  void set_parameters(const Parameters&);
78  void set_parameters();
79 
80  void set_label(std::string label)
81  {
82  m_label = label;
83  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
84  }
85 
86  std::string get_label()
87  {
88  return m_label;
89  }
90 
91  void set_config(Field *U);
92 
93  void notify_linkv()
94  {
95  m_status_linkv = 0;
96  }
97 
98  double langevin(RandomNumbers *);
99  double calcH();
100  const Field force();
101 };
102 #endif
BridgeIO vout
Definition: bridgeIO.cpp:207
void set_label(std::string label)
void detailed(const char *format,...)
Definition: bridgeIO.cpp:50
std::string get_label()
void set_config(Field *U)
setting pointer to the gauge configuration.
RandomNumbers * m_rand
Definition: fprop.h:20
Container of Field-type object.
Definition: field.h:37
const Field force()
returns force for molcular dynamical update of conjugate momenta.
Base class of fermion force calculation.
Definition: force.h:34
Class for parameters.
Definition: parameters.h:40
Base class of HMC action class family.
Definition: action.h:35
double langevin(RandomNumbers *)
Langevis step.
double calcH()
calculate Hamiltonian of this action term.
Action_F_Ratio_lex(Fopr *fopr_prec, Force *fopr_prec_force, Fopr *fopr, Force *fopr_force, Fprop *fprop_H_prec, Fprop *fprop_MD, Fprop *fprop_H)
Bridge::VerboseLevel m_vl
Definition: action.h:64
Base class of random number generators.
Definition: randomNumbers.h:40
static const std::string class_name
HMC action for Hasenbusch preconditioned fermions.
Base class of fermion operator family.
Definition: fopr.h:39
void notify_linkv()
to be called when gauge configuration is updated.