Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
smear.h
Go to the documentation of this file.
1 
15 #ifndef SMEAR_INCLUDED
16 #define SMEAR_INCLUDED
17 
18 #include "defs.h"
19 #include "parameters.h"
20 #include "commonParameters.h"
21 #include "field_G.h"
22 #include "projection.h"
23 #include "bridgeIO.h"
24 
25 #ifdef USE_FACTORY
26 #include "factory.h"
27 #endif
28 
29 
31 
36 class Smear
37 {
38  protected:
40 
41  public:
43  : m_vl(CommonParameters::Vlevel()) {}
44 
45  virtual ~Smear() {}
46 
47  virtual void smear(Field_G&, const Field_G&) = 0;
48 
49  virtual void set_parameters(const Parameters&) = 0;
50 
52 
53 #ifdef USE_FACTORY
54  public:
55  typedef Smear *(*ProductCreator)(Projection *);
57 
58  static Smear *New(const IdentifierType& subtype, Projection *proj)
59  {
60  ProductCreator p = Factory::Find(subtype);
61 
62  return p ? (*p)(proj) : 0;
63  }
64 
65 #endif
66 };
67 #endif
virtual void set_parameters(const Parameters &)=0
Class for parameters.
Definition: parameters.h:40
Smear()
Definition: smear.h:42
SU(N) gauge field.
Definition: field_G.h:36
Common parameter class: provides parameters as singleton.
virtual void smear(Field_G &, const Field_G &)=0
base class for projection operator into gauge group.
Definition: projection.h:33
virtual ~Smear()
Definition: smear.h:45
Bridge::VerboseLevel vl
Definition: checker.cpp:18
VerboseLevel
Definition: bridgeIO.h:25
base class for smearing of link variables.
Definition: smear.h:36
std::string IdentifierType
Factory template class.
Definition: factory.h:32
Bridge::VerboseLevel m_vl
Definition: smear.h:39
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Definition: smear.h:51