Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
director_Smear.h
Go to the documentation of this file.
1 
14 #ifndef DIRECTOR_SMEAR_INCLUDED
15 #define DIRECTOR_SMEAR_INCLUDED
16 
17 #include <cassert>
18 
19 #include "smear.h"
20 #include "Tools/director.h"
21 
22 #include "Field/field_G.h"
23 
24 #include "IO/bridgeIO.h"
25 using Bridge::vout;
26 
27 
29 
39 class Director_Smear : public Director
40 {
41  public:
42  static const std::string class_name;
43 
44  private:
45  int m_Nsmear;
48  std::vector<Field_G> m_Usmear;
50 
51  public:
54  : Director()
55  {
56  m_Nsmear = 0;
57  m_smear = smear;
58  m_U = 0;
59  m_status_linkv = 0;
60  }
61 
63  : Director()
64  {
65  m_Nsmear = 0;
66  m_smear = smear.get();
67  m_U = 0;
68  m_status_linkv = 0;
69  }
70 
72  void set_parameters(const Parameters& params);
73  void set_parameters(const int Nsmear);
74 
76  int get_Nsmear() { return m_Nsmear; }
77 
79  Field *getptr_smearedConfig(const int i_smear);
80 
81  Field_G *get_config(); // smeared config
82  Field_G *get_config(const int i_smear); // intermediate config
83 
85  void set_config(Field *U);
87 
89  void notify_linkv()
90  {
91  m_status_linkv = 0;
92  }
93 
94  private:
96  void smear();
97 };
98 #endif
void smear()
smearing is performed by calling a function of Smear object
BridgeIO vout
Definition: bridgeIO.cpp:503
Container of Field-type object.
Definition: field.h:45
Class for parameters.
Definition: parameters.h:46
void notify_linkv()
to be called when configuration is updated
SU(N) gauge field.
Definition: field_G.h:38
Manager of commonly used data object in HMC.
Definition: director.h:37
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.
Field * getptr_smearedConfig(const int i_smear)
get pointer to i-th smeared config (0th is original thin link)
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:34
int m_Nsmear
number of smearing to be applied
Field_G * m_U
original thin link var.