Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fopr_Smeared.h
Go to the documentation of this file.
1 
15 #ifndef FOPR_SMEARED_INCLUDED
16 #define FOPR_SMEARED_INCLUDED
17 
18 #include "fopr.h"
19 #include "director_Smear.h"
20 
21 #include "bridgeIO.h"
22 using Bridge::vout;
23 
25 
40 class Fopr_Smeared : public Fopr
41 {
42  public:
43  static const std::string class_name;
44 
45  private:
48 
49  public:
50 
52  Fopr_Smeared(Fopr *fopr, Director_Smear *dr_smear)
53  : Fopr(), m_fopr(fopr), m_dr_smear(dr_smear) {}
54 
55  void set_parameters(const Parameters&);
56 
58  void set_config(Field *U);
59 
61  void mult(Field& v, const Field& f)
62  {
63  m_fopr->mult(v, f);
64  }
65 
67  const Field mult(const Field& f)
68  {
69  return m_fopr->mult(f);
70  }
71 
73  void mult_dag(Field& v, const Field& f)
74  {
75  m_fopr->mult_dag(v, f);
76  }
77 
79  const Field mult_dag(const Field& f)
80  {
81  return m_fopr->mult_dag(f);
82  }
83 
85  void set_mode(std::string mode)
86  {
87  m_fopr->set_mode(mode);
88  }
89 
90  std::string get_mode() const
91  {
92  return m_fopr->get_mode();
93  }
94 
95  void mult_up(int mu, Field& v, const Field& w)
96  {
97  m_fopr->mult_up(mu, v, w);
98  }
99 
100  void mult_dn(int mu, Field& v, const Field& w)
101  {
102  m_fopr->mult_dn(mu, v, w);
103  }
104 
105  int field_nvol() { return m_fopr->field_nvol(); }
106  int field_nin() { return m_fopr->field_nin(); }
107  int field_nex() { return m_fopr->field_nex(); }
108 };
109 #endif
BridgeIO vout
Definition: bridgeIO.cpp:207
void mult_up(int mu, Field &v, const Field &w)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
Definition: fopr_Smeared.h:95
virtual const Field mult_dag(const Field &)
hermitian conjugate of mult(const Field&).
Definition: fopr.h:60
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
Definition: fopr_Smeared.h:107
virtual const Field mult(const Field &)=0
multiplies fermion operator to a given field and returns the resultant field.
Container of Field-type object.
Definition: field.h:37
Class for parameters.
Definition: parameters.h:40
virtual void mult_dn(int mu, Field &, const Field &)
Definition: fopr.h:71
virtual int field_nin()=0
returns the on-site d.o.f. for which the fermion operator is defined.
smeared fermion operator.
Definition: fopr_Smeared.h:40
int field_nvol()
returns the volume for which the fermion operator is defined.
Definition: fopr_Smeared.h:105
Fopr * m_fopr
Definition: fopr_Smeared.h:46
virtual std::string get_mode() const
Definition: fopr.h:80
virtual int field_nex()=0
returns the external d.o.f. for which the fermion operator is defined.
Fopr_Smeared(Fopr *fopr, Director_Smear *dr_smear)
constructor requires Fopr and Director_Smear objects
Definition: fopr_Smeared.h:52
virtual void mult_up(int mu, Field &, const Field &)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
Definition: fopr.h:70
void mult(Field &v, const Field &f)
multiply smeared fermion operator
Definition: fopr_Smeared.h:61
std::string get_mode() const
Definition: fopr_Smeared.h:90
Manager of smeared configurations.
void set_mode(std::string mode)
set the mode of fermion operator
Definition: fopr_Smeared.h:85
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
Definition: fopr.h:75
void set_parameters(const Parameters &)
Base class of fermion operator family.
Definition: fopr.h:39
void mult_dag(Field &v, const Field &f)
multiply smeared fermion operator
Definition: fopr_Smeared.h:73
virtual int field_nvol()=0
returns the volume for which the fermion operator is defined.
Director_Smear * m_dr_smear
Definition: fopr_Smeared.h:47
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
Definition: fopr_Smeared.h:106
const Field mult_dag(const Field &f)
multiply smeared fermion operator
Definition: fopr_Smeared.h:79
void set_config(Field *U)
set pointer to original thin link variable
const Field mult(const Field &f)
multiply smeared fermion operator
Definition: fopr_Smeared.h:67
void mult_dn(int mu, Field &v, const Field &w)
Definition: fopr_Smeared.h:100
static const std::string class_name
Definition: fopr_Smeared.h:43