Bridge++  Ver.2.1.3
smear.h
Go to the documentation of this file.
1 
14 #ifndef SMEAR_INCLUDED
15 #define SMEAR_INCLUDED
16 
17 #include "lib/Smear/asmear.h"
18 #include "lib/Smear/projection.h"
19 
20 //#include "lib/IO/bridgeIO.h"
21 
22 #ifdef USE_FACTORY
23 #include "lib/Tools/factory.h"
24 #endif
25 
26 
28 
36 
37 /*
38 class Smear
39 {
40  public:
41  Smear() {}
42  virtual ~Smear() {}
43 
44  private:
45  Smear(const Smear&);
46  Smear& operator=(const Smear&);
47 
48  public:
49  virtual void smear(Field_G&, const Field_G&) = 0;
50 
51  virtual void set_parameters(const Parameters&) = 0;
52 
53  virtual void get_parameters(Parameters&) const = 0;
54 
55 #ifdef USE_FACTORY
56  public:
57  typedef Smear *(*ProductCreator)(Projection *);
58  typedef Smear *(*ProductCreator_params)(Projection *, const Parameters&);
59 
60  typedef FactoryTemplate<Smear, ProductCreator> Factory;
61  typedef FactoryTemplate<Smear, ProductCreator_params> Factory_params;
62 
63  static Smear *New(const IdentifierType& subtype, Projection *proj)
64  {
65  ProductCreator p = Factory::Find(subtype);
66  return p ? (*p)(proj) : 0;
67  }
68 
69  static Smear *New(const IdentifierType& subtype, Projection *proj, const Parameters& params)
70  {
71  ProductCreator_params p = Factory_params::Find(subtype);
72  return p ? (*p)(proj, params) : 0;
73  }
74 
75 #ifdef USE_FACTORY_AUTOREGISTER
76 #else
77  static bool init_factory();
78 #endif
79 #endif
80 };
81 */
82 
83 #endif
factory.h
projection.h
asmear.h
Smear
ASmear< Field > Smear
base class for smearing of link variables.
Definition: smear.h:35
ASmear
Base template class for smearing of link variables.
Definition: asmear.h:31