Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
action_F_Ratio_eo.h
Go to the documentation of this file.
1 
14 #ifndef ACTION_F_RATIO_EO_INCLUDED
15 #define ACTION_F_RATIO_EO_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_eo : public Action
36 {
37  private:
40 
41  Fopr *m_fopr_prec; // preconditioner
42  Force *m_fopr_prec_force; // force of preconditioner
43  Fopr *m_fopr; // dynamical fermion
44  Force *m_fopr_force; // force of dynamical fermion
45  Field m_psf; // pseudofermion field
46  std::string m_label; // label of action
48 
52 
54 
55 
56  public:
57 
59  Fopr *fopr_prec, Force *fopr_prec_force,
60  Fopr *fopr, Force *fopr_force,
61  Fprop *fprop_H_prec,
62  Fprop *fprop_MD, Fprop *fprop_H)
63  : Action(),
64  m_fopr_prec(fopr_prec), m_fopr_prec_force(fopr_prec_force),
65  m_fopr(fopr), m_fopr_force(fopr_force),
66  m_fprop_H_prec(fprop_H_prec),
67  m_fprop_MD(fprop_MD), m_fprop_H(fprop_H)
68  {
70  }
71 
73 
74  void set_parameters(const Parameters&);
75  void set_parameters();
76 
77  void set_label(std::string label)
78  {
79  m_label = label;
80  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
81  }
82 
83  std::string get_label()
84  {
85  return m_label;
86  }
87 
88  void set_config(Field *U);
89 
90  void notify_linkv()
91  {
92  m_status_linkv = 0;
93  }
94 
95  double langevin(RandomNumbers *);
96  double calcH();
97  const Field force();
98 };
99 #endif