Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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:
49  int m_Ndim;
50  std::valarray<double> m_rho;
52 
53  public:
56  : Smear(),
57  m_Ndim(CommonParameters::Ndim()), m_rho(0.0, m_Ndim * m_Ndim),
58  m_proj(proj) {}
59 
61  : Smear(),
62  m_Ndim(CommonParameters::Ndim()), m_rho(0.0, m_Ndim * m_Ndim),
63  m_proj(proj.get()) {}
64 
67 
69  void set_parameters(const Parameters& params);
70 
72  void set_parameters(const double rho1);
73 
75  void set_parameters(const std::vector<double>& rho);
76 
78  void smear(Field_G& Usmear, const Field_G& U);
79 
80  private:
81 
82 #ifdef USE_FACTORY
83  private:
84  static Smear *create_object(Projection *proj)
85  {
86  return new Smear_APE(proj);
87  }
88 
89  public:
90  static bool register_factory()
91  {
92  return Smear::Factory::Register("APE", create_object);
93  }
94 #endif
95 };
96 #endif
BridgeIO vout
Definition: bridgeIO.cpp:503
Class for parameters.
Definition: parameters.h:46
~Smear_APE()
Deconstructor.
Definition: smear_APE.h:66
void set_parameters(const Parameters &params)
Setting parameters with Parameters object.
Definition: smear_APE.cpp:25
void smear(Field_G &Usmear, const Field_G &U)
Smearing of a given gauge field.
Definition: smear_APE.cpp:90
Projection * m_proj
projector to group element.
Definition: smear_APE.h:51
SU(N) gauge field.
Definition: field_G.h:38
APE type smearing of link variables.
Definition: smear_APE.h:43
Smear_APE(Projection *proj)
Constructor requires a pointer to Projection object.
Definition: smear_APE.h:55
static const std::string class_name
Definition: smear_APE.h:46
Common parameter class: provides parameters as singleton.
base class for projection operator into gauge group.
Definition: projection.h:30
std::valarray< double > m_rho
smearing parameter
Definition: smear_APE.h:50
int m_Ndim
spacetime dimension
Definition: smear_APE.h:49
base class for smearing of link variables.
Definition: smear.h:34
Smear_APE(unique_ptr< Projection > &proj)
Definition: smear_APE.h:60