Bridge++  Ver. 2.0.2
smear_APE.h
Go to the documentation of this file.
1 
14 #ifndef SMEAR_APE_INCLUDED
15 #define SMEAR_APE_INCLUDED
16 
17 #include "smear.h"
18 
20 
21 #include "IO/bridgeIO.h"
22 using Bridge::vout;
23 
24 
26 
43 class Smear_APE : public Smear
44 {
45  public:
46  static const std::string class_name;
47 
48  private:
50 
51  int m_Ndim;
52  std::valarray<double> m_rho;
54 
55  public:
58  : m_vl(CommonParameters::Vlevel()),
59  m_Ndim(CommonParameters::Ndim()), m_rho(0.0, m_Ndim * m_Ndim),
60  m_proj(proj) {}
61 
62  Smear_APE(Projection *proj, const Parameters& params)
63  : m_vl(CommonParameters::Vlevel()),
64  m_Ndim(CommonParameters::Ndim()), m_rho(0.0, m_Ndim * m_Ndim),
65  m_proj(proj)
66  {
67  set_parameters(params);
68  }
69 
72 
74  void set_parameters(const Parameters& params);
75 
77  void set_parameters(const double rho1);
78 
80  void set_parameters(const std::vector<double>& rho);
81 
83  void get_parameters(Parameters& params) const;
84 
86  void smear(Field_G& Usmear, const Field_G& U);
87 
88  private:
89 
90 #ifdef USE_FACTORY
91  private:
92  static Smear *create_object(Projection *proj)
93  {
94  return new Smear_APE(proj);
95  }
96 
97  static Smear *create_object_with_params(Projection *proj, const Parameters& params)
98  {
99  return new Smear_APE(proj, params);
100  }
101 
102  public:
103  static bool register_factory()
104  {
105  bool init = true;
106  init &= Smear::Factory::Register("APE", create_object);
107  init &= Smear::Factory_params::Register("APE", create_object_with_params);
108  return init;
109  }
110 #endif
111 };
112 #endif
bridgeIO.h
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Smear_APE::m_vl
Bridge::VerboseLevel m_vl
Definition: smear_APE.h:49
Smear_APE::m_Ndim
int m_Ndim
spacetime dimension
Definition: smear_APE.h:51
Parameters
Class for parameters.
Definition: parameters.h:46
Smear
base class for smearing of link variables.
Definition: smear.h:34
Smear_APE::set_parameters
void set_parameters(const Parameters &params)
Setting parameters with Parameters object.
Definition: smear_APE.cpp:25
Smear_APE::smear
void smear(Field_G &Usmear, const Field_G &U)
Smearing of a given gauge field.
Definition: smear_APE.cpp:105
Smear_APE::class_name
static const std::string class_name
Definition: smear_APE.h:46
Smear_APE::Smear_APE
Smear_APE(Projection *proj, const Parameters &params)
Definition: smear_APE.h:62
Smear_APE::~Smear_APE
~Smear_APE()
Deconstructor.
Definition: smear_APE.h:71
staple_lex.h
Smear_APE
APE type smearing of link variables.
Definition: smear_APE.h:43
Smear_APE::m_rho
std::valarray< double > m_rho
smearing parameter
Definition: smear_APE.h:52
Smear_APE::m_proj
Projection * m_proj
projector to group element.
Definition: smear_APE.h:53
smear.h
Projection
base class for projection operator into gauge group.
Definition: projection.h:30
Smear_APE::Smear_APE
Smear_APE(Projection *proj)
Constructor requires a pointer to Projection object.
Definition: smear_APE.h:57
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Smear_APE::get_parameters
void get_parameters(Parameters &params) const
Getting parameters by Parameters object.
Definition: smear_APE.cpp:48
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512