Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
wilsonLoop.h
Go to the documentation of this file.
1 
14 #ifndef WILSONLOOP_INCLUDED
15 #define WILSONLOOP_INCLUDED
16 
17 #include "defs.h"
18 #include "parameters.h"
19 #include "field_G.h"
20 #include "shiftField_eo.h"
21 
22 #include "bridgeIO.h"
23 using Bridge::vout;
24 
26 
43 //- parameters class
44 class Parameters_WilsonLoop : virtual public Parameters
45 {
46  public:
48 };
49 //- end
50 
52 {
53  protected:
55 
56  private:
60  int m_Ntype;
61 
64  int m_Nx_ext;
65  int m_Ny_ext;
66  int m_Nz_ext;
67  int m_Nt_ext;
68  int m_Nvol_ext;
69 
70  typedef std::valarray<int> unit_vec;
71  std::valarray<unit_vec> m_Nunit;
72  std::valarray<int> m_Nmax;
73 
74  public:
75 
77  : m_vl(CommonParameters::Vlevel())
78  {
79  init();
80  }
81 
82  virtual ~WilsonLoop() {}
83 
85  virtual void set_parameters(const Parameters& params);
86 
87  void set_parameters(int Nspc_size, int Ntmp_size, int Ntype);
88 
90 
92  double measure(Field_G& U);
93 
95  int index_wloop(int i_spc, int i_tmp, int i_type)
96  {
97  return i_spc + m_Nspc_size * (i_tmp + m_Ntmp_size * i_type);
98  }
99 
100  private:
101 
103  void init();
104 
106  double calc_wloop(Field_G& Uspc, int t_ext);
107 
109  void redef_Uspc(Field_G& Uspc, Field_G& Uext,
110  int j, int nu, std::valarray<int>& unit_v);
111 
113  void set_extfield(Field_G& Uext, Field_G& Uorg);
114 
116  void gfix_temporal(Field_G& Uext);
117 };
118 #endif