Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
projection.h
Go to the documentation of this file.
1 
15 #ifndef PROJECTION_INCLUDED
16 #define PROJECTION_INCLUDED
17 
18 #include "defs.h"
19 #include "parameters.h"
20 #include "commonParameters.h"
21 #include "field_G.h"
22 
23 #ifdef USE_FACTORY
24 #include "factory.h"
25 #endif
26 
28 
34 {
35  protected:
37 
38  public:
40  : m_vl(CommonParameters::Vlevel()) {}
41 
42  virtual ~Projection() {}
43 
45  virtual void project(Field_G& v,
46  double alpha,
47  const Field_G& C, const Field_G& U) = 0;
48 
50  virtual void force_recursive(Field_G& Xi, Field_G& iTheta,
51  double alpha, const Field_G& Sigmap,
52  const Field_G& C, const Field_G& U) = 0;
53 
54  virtual void set_parameters(const Parameters& param) = 0;
55 
57 
58 
59 #ifdef USE_FACTORY
60  public:
61  typedef Projection *(*ProductCreator)();
63 
64  static Projection *New(const IdentifierType& subtype)
65  {
66  ProductCreator p = Factory::Find(subtype);
67 
68  return p ? (*p)() : 0;
69  }
70 
71 #endif
72 };
73 #endif
virtual void set_parameters(const Parameters &param)=0
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Definition: projection.h:56
Class for parameters.
Definition: parameters.h:40
SU(N) gauge field.
Definition: field_G.h:36
virtual void force_recursive(Field_G &Xi, Field_G &iTheta, double alpha, const Field_G &Sigmap, const Field_G &C, const Field_G &U)=0
determination of fields for force calculation
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 ~Projection()
Definition: projection.h:42
virtual void project(Field_G &v, double alpha, const Field_G &C, const Field_G &U)=0
projection V = P[alpha, C, U]
Bridge::VerboseLevel m_vl
Definition: projection.h:36