Bridge++  Ver. 1.3.x
topologicalCharge.h
Go to the documentation of this file.
1 
14 #ifndef TOPOLOGICALCHARGE_INCLUDED
15 #define TOPOLOGICALCHARGE_INCLUDED
16 
17 #include "staples.h"
18 #include "shiftField_lex.h"
19 
20 #include "bridgeIO.h"
21 using Bridge::vout;
22 
24 
31 //- parameters class
33 {
34  public:
36 };
37 //- end
38 
40 {
41  public:
42  static const std::string class_name;
43 
44  protected:
46 
47 
48  private:
49  double m_c_plaq;
50  double m_c_rect;
51 
53 
54 
55  public:
57  : m_vl(CommonParameters::Vlevel()) {}
58 
59  virtual ~TopologicalCharge() {}
60 
61  private:
62  // non-copyable
65 
66  public:
68  virtual void set_parameters(const Parameters& params);
69 
70  void set_parameters(double c_plaq, double c_rect);
71 
73 
75  double measure(Field_G& U);
76 
77 
78  private:
79  void construct_Fmunu_1x1(Field_G& Fmunu, int mu, int nu, Field_G& U);
80  void construct_Fmunu_1x2(Field_G& Fmunu, int mu, int nu, Field_G& U);
81 
82  double contract_epsilon_tensor(Field_G& Fmunu_1, Field_G& Fmunu_2);
83 };
84 #endif
BridgeIO vout
Definition: bridgeIO.cpp:278
static const std::string class_name
double measure(Field_G &U)
main function to measure Topological Charge.
ShiftField_lex m_shift
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
void construct_Fmunu_1x2(Field_G &Fmunu, int mu, int nu, Field_G &U)
void construct_Fmunu_1x1(Field_G &Fmunu, int mu, int nu, Field_G &U)
Class for parameters.
Definition: parameters.h:38
double contract_epsilon_tensor(Field_G &Fmunu_1, Field_G &Fmunu_2)
SU(N) gauge field.
Definition: field_G.h:38
Common parameter class: provides parameters as singleton.
Bridge::VerboseLevel m_vl
Bridge::VerboseLevel vl
Definition: checker.cpp:18
VerboseLevel
Definition: bridgeIO.h:39
virtual void set_parameters(const Parameters &params)
setting parameters.
Methods to shift a field in the lexical site index.
virtual ~TopologicalCharge()
TopologicalCharge & operator=(const TopologicalCharge &)
Topological Charge measurement.