Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gaugeFixing.h
Go to the documentation of this file.
1 
14 #ifndef GAUGEFIXING_INCLUDED
15 #define GAUGEFIXING_INCLUDED
16 
17 #include "defs.h"
18 #include "parameters.h"
19 #include "commonParameters.h"
20 #include "bridgeIO.h"
21 #include "field_G.h"
22 
23 #ifdef USE_FACTORY
24 #include "factory.h"
25 #endif
26 
28 
29 /*
30  This class fixes the gauge of configuration.
31  [10 Oct 2012 Y.Namekawa]
32  */
33 
35 {
36  public:
38  : m_vl(CommonParameters::Vlevel()) {}
39 
40  virtual ~GaugeFixing() {}
41 
42  virtual void set_parameters(const Parameters& params) = 0;
43 
45 
46  virtual void fix(Field_G& Ufix, const Field_G& Uorg) = 0;
47 
48  protected:
50 
51 
52 #ifdef USE_FACTORY
53  public:
54  typedef GaugeFixing *(*ProductCreator)(RandomNumbers *);
56 
57  static GaugeFixing *New(const IdentifierType& subtype, RandomNumbers *rand)
58  {
59  ProductCreator p = Factory::Find(subtype);
60 
61  return p ? (*p)(rand) : 0;
62  }
63 
64 #endif
65 };
66 #endif
virtual ~GaugeFixing()
Definition: gaugeFixing.h:40
Class for parameters.
Definition: parameters.h:40
SU(N) gauge field.
Definition: field_G.h:36
Common parameter class: provides parameters as singleton.
Bridge::VerboseLevel m_vl
Definition: gaugeFixing.h:49
Base class of random number generators.
Definition: randomNumbers.h:40
Bridge::VerboseLevel vl
Definition: checker.cpp:18
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Definition: gaugeFixing.h:44
VerboseLevel
Definition: bridgeIO.h:25
std::string IdentifierType
Factory template class.
Definition: factory.h:32
gauge fixing.
Definition: gaugeFixing.h:34
virtual void fix(Field_G &Ufix, const Field_G &Uorg)=0
virtual void set_parameters(const Parameters &params)=0