Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
force_F_Smeared.h
Go to the documentation of this file.
1 
14 #ifndef FORCE_F_SMEARED_INCLUDED
15 #define FORCE_F_SMEARED_INCLUDED
16 
17 #include "force_F.h"
18 #include "forceSmear.h"
19 
20 #include "Fopr/fopr.h"
21 #include "Smear/director_Smear.h"
22 
23 #include "IO/bridgeIO.h"
24 using Bridge::vout;
25 
27 
39 class Force_F_Smeared : public Force
40 {
41  public:
42  static const std::string class_name;
43 
44  private:
48 
49  public:
51  Force *force, ForceSmear *force_smear, Director_Smear *director_smear)
52  : Force(), m_force(force), m_force_smear(force_smear), m_director_smear(director_smear) {}
53 
55  unique_ptr<Force>& force, unique_ptr<ForceSmear>& force_smear, unique_ptr<Director>& director_smear)
56  : Force(), m_force(force.get()), m_force_smear(force_smear.get()), m_director_smear((Director_Smear *)director_smear.get()) {}
57 
58  void set_parameters(const Parameters&);
59 
60  void set_config(Field *U)
61  {
62  m_U = (Field_G *)U;
65  }
66 
67  void set_mode(const std::string& mode)
68  {
69  m_force->set_mode(mode);
70  }
71 
72  void force_udiv(Field& force, const Field& eta);
73 
74  void force_udiv1(Field& force, const Field& zeta, const Field& eta);
75 
76  private:
77  void mult_jacobian(Field_G& force);
78 };
79 #endif
Force_F_Smeared(unique_ptr< Force > &force, unique_ptr< ForceSmear > &force_smear, unique_ptr< Director > &director_smear)
BridgeIO vout
Definition: bridgeIO.cpp:503
void set_config(Field *U)
Container of Field-type object.
Definition: field.h:45
virtual void set_config(Field *)=0
Field_G * m_U
Definition: force_F.h:68
Base class of fermion force calculation.
Definition: force_F.h:31
Class for parameters.
Definition: parameters.h:46
void set_parameters(const Parameters &)
Base class for force calculation of smeared operators.
Definition: forceSmear.h:34
ForceSmear * m_force_smear
SU(N) gauge field.
Definition: field_G.h:38
virtual void set_mode(const std::string &mode)
in Force, setting the mode is optional when H is nonhermitian.
Definition: force_F.h:53
void mult_jacobian(Field_G &force)
static const std::string class_name
void set_config(Field *U)
set pointer to original thin link variable
void force_udiv(Field &force, const Field &eta)
void force_udiv1(Field &force, const Field &zeta, const Field &eta)
Manager of smeared configurations.
Director_Smear * m_director_smear
Force calculation for smeared fermion operators.
Force_F_Smeared(Force *force, ForceSmear *force_smear, Director_Smear *director_smear)
Field_G * get_config()
void set_mode(const std::string &mode)
in Force, setting the mode is optional when H is nonhermitian.