Bridge++  Ver. 1.3.x
director_Smear.h
Go to the documentation of this file.
1 
15 #ifndef DIRECTOR_SMEAR_INCLUDED
16 #define DIRECTOR_SMEAR_INCLUDED
17 
18 #include <cassert>
19 
20 #include "director.h"
21 #include "smear.h"
22 #include "field_G.h"
23 
24 #ifdef USE_PARAMETERS_FACTORY
25 #include "parameters_factory.h"
26 #endif
27 
28 #include "bridgeIO.h"
29 using Bridge::vout;
30 
31 //- parameters class
33 class Parameters_Director_Smear : virtual public Parameters
34 {
35  public:
37 };
38 //- end
39 
41 
51 class Director_Smear : public Director
52 {
53  public:
54  static const std::string class_name;
55 
56  private:
57  int m_Nsmear;
60  std::vector<Field_G> m_Usmear;
62 
63  public:
64 
67  : Director()
68  {
69  m_Nsmear = 0;
70  m_smear = smear;
71  m_U = 0;
72  m_status_linkv = 0;
73  }
74 
76  : Director()
77  {
78  m_Nsmear = 0;
79  m_smear = smear.get();
80  m_U = 0;
81  m_status_linkv = 0;
82  }
83 
85  void set_parameters(const Parameters& params);
86  void set_parameters(int Nsmear);
87 
89  int get_Nsmear() { return m_Nsmear; }
90 
92  Field *getptr_smearedConfig(int i_smear);
93 
94  Field_G *get_config(); // smeared config
95  Field_G *get_config(const int i_smear); // intermediate config
96 
98  void set_config(Field *U);
100 
103  {
104  m_status_linkv = 0;
105  }
106 
107  private:
109  void smear();
110 };
111 #endif
void smear()
smearing is performed by calling a function of Smear object
BridgeIO vout
Definition: bridgeIO.cpp:278
Container of Field-type object.
Definition: field.h:39
Class for parameters.
Definition: parameters.h:38
void notify_linkv()
to be called when configuration is updated
Parameters class for Director_Smear class.
SU(N) gauge field.
Definition: field_G.h:38
Manager of commonly used data object in HMC.
Definition: director.h:37
Field * getptr_smearedConfig(int i_smear)
get pointer to i-th smeared config (0th is original thin link)
Smear * m_smear
smearing operator
pointer get() const
std::vector< Field_G > m_Usmear
smeared configs.
void set_config(Field *U)
set pointer to original thin link variable
int m_status_linkv
set to zero when link var. is updated
int get_Nsmear()
get number of applied smearing operation
Director_Smear(unique_ptr< Smear > &smear)
Manager of smeared configurations.
void set_parameters(const Parameters &params)
set parameters, must be called before set_config
Director_Smear(Smear *smear)
constructor requires pointer to Smear object
static const std::string class_name
Field_G * get_config()
base class for smearing of link variables.
Definition: smear.h:36
int m_Nsmear
number of smearing to be applied
Field_G * m_U
original thin link var.