Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
staples_SF.h
Go to the documentation of this file.
1 
15 #ifndef STAPLES_SF_INCLUDED
16 #define STAPLES_SF_INCLUDED
17 
18 #include <cmath>
19 #include "defs.h"
20 #include "parameters.h"
21 #include "field_G_SF.h"
22 #include "shiftField_lex.h"
23 
24 #include "bridgeIO.h"
25 using Bridge::vout;
26 
28 
39 //- parameters class
40 class Parameters_Staples_SF : virtual public Parameters
41 {
42  public:
44 };
45 //- end
46 
48 {
49  protected:
51 
52  private:
53  int Nc;
54  int Ndim;
55  int Nvol, Lvol;
59 
60  int Nx, Ny, Nz, Nt;
61  int Lx, Ly, Lz, Lt;
62  int NPEt;
65 
66  public:
67 
69  : m_vl(CommonParameters::Vlevel()),
83  wk(Nc), wkpr(Nc), iomega0(Nc),
84  initialized(0) {}
85 
86  void set_parameters(const Parameters& params);
87 
88  void set_parameters(double *phi, double *phipr);
89  void set_parameters(const double *phi, const double *phipr, const double *pomega);
90  void set_parameters(std::valarray<double>& phi, std::valarray<double>& phipr, std::valarray<double>& pomega);
91 
93 
94  Field_G_SF upper(const Field_G&, const int, const int);
95  Field_G_SF lower(const Field_G&, const int, const int);
96  double plaq_s(const Field_G&);
97  double plaq_t(const Field_G&);
98  double plaq_t_ct(const Field_G&, double ct);
99  double plaquette(const Field_G&);
100  double plaquette_ct(const Field_G&, double ct);
101 
102  double sf_coupling_plaq(const Field_G&, double ct);
103  double sf_coupling_rect(const Field_G&, double ctr);
104 
105  void staple(Field_G&, const Field_G&, const int);
106  void staple_ct(Field_G&, const Field_G&, const int, double ct);
107 
108  void print_plaquette(const Field_G&);
109 };
110 #endif