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