Bridge++  Ver. 2.0.2
staple_SF.h
Go to the documentation of this file.
1 
14 #ifndef STAPLE_SF_INCLUDED
15 #define STAPLE_SF_INCLUDED
16 
17 #include "Field/field_SF.h"
18 #include "Field/shiftField_lex.h"
19 
20 #include "IO/bridgeIO.h"
21 using Bridge::vout;
22 
24 
36 class Staple_SF
37 {
38  public:
39  static const std::string class_name;
40 
41  protected:
43 
44  private:
47 
50 
51  std::vector<double> m_phi, m_phipr, m_p_omega;
52 
53  public:
55  : m_vl(CommonParameters::Vlevel()),
56  m_wk(CommonParameters::Nc()),
57  m_wkpr(CommonParameters::Nc()),
59  m_initialized(0) {}
60 
61  // optional
62  Staple_SF(const Parameters& params)
63  : m_vl(CommonParameters::Vlevel()),
64  m_wk(CommonParameters::Nc()),
65  m_wkpr(CommonParameters::Nc()),
67  m_initialized(0)
68  {
69  set_parameters(params);
70  }
71 
72  private:
73  // non-copyable
74  Staple_SF(const Staple_SF&);
75  Staple_SF& operator=(const Staple_SF&);
76 
77  public:
78  void set_parameters(const Parameters& params);
79 
80  // void set_parameters(const double *phi, const double *phipr);
81  void set_parameters(const std::vector<double>& phi,
82  const std::vector<double>& phipr);
83 
84  void set_parameters(const double *phi, const double *phipr, const double *pomega);
85  void set_parameters(const std::vector<double>& phi, const std::vector<double>& phipr, const std::vector<double>& p_omega);
86 
88 
89  void get_parameters(Parameters& params) const;
90 
91  void upper(Field_G&, const Field_G&, const int, const int);
92  void lower(Field_G&, const Field_G&, const int, const int);
93 
94  double plaq_s(const Field_G&);
95  double plaq_t(const Field_G&);
96  double plaq_t_ct(const Field_G&, const double ct);
97  double plaquette(const Field_G&);
98  double plaquette_ct(const Field_G&, const double ct);
99 
100  double sf_coupling_plaq(const Field_G&, const double ct);
101  double sf_coupling_rect(const Field_G&, const double ctr);
102 
103  void staple(Field_G&, const Field_G&, const int);
104  void staple_ct(Field_G&, const Field_G&, const int, const double ct);
105 
106  void print_plaquette(const Field_G&);
107 };
108 #endif
Staple_SF::m_index
Index_lex m_index
Definition: staple_SF.h:45
bridgeIO.h
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Index_lex
Lexical site index.
Definition: index_lex.h:34
Staple_SF::set_parameters
void set_parameters(const Parameters &params)
Definition: staple_SF.cpp:35
Staple_SF::staple_ct
void staple_ct(Field_G &, const Field_G &, const int, const double ct)
Definition: staple_SF.cpp:833
Parameters
Class for parameters.
Definition: parameters.h:46
Staple_SF::Staple_SF
Staple_SF(const Parameters &params)
Definition: staple_SF.h:62
shiftField_lex.h
Staple_SF::m_shift
ShiftField_lex m_shift
Definition: staple_SF.h:46
Staple_SF::Staple_SF
Staple_SF()
Definition: staple_SF.h:54
Staple_SF::plaquette
double plaquette(const Field_G &)
Definition: staple_SF.cpp:606
Staple_SF::sf_coupling_rect
double sf_coupling_rect(const Field_G &, const double ctr)
Definition: staple_SF.cpp:395
Staple_SF::m_wkpr
Mat_SU_N m_wkpr
Definition: staple_SF.h:48
Staple_SF
Staple construction.
Definition: staple_SF.h:36
Staple_SF::staple
void staple(Field_G &, const Field_G &, const int)
Definition: staple_SF.cpp:788
Staple_SF::upper
void upper(Field_G &, const Field_G &, const int, const int)
Definition: staple_SF.cpp:877
Staple_SF::m_phi
std::vector< double > m_phi
Definition: staple_SF.h:51
Staple_SF::plaquette_ct
double plaquette_ct(const Field_G &, const double ct)
Definition: staple_SF.cpp:632
Staple_SF::m_i_omega0
Mat_SU_N m_i_omega0
Definition: staple_SF.h:48
Staple_SF::m_initialized
int m_initialized
Definition: staple_SF.h:49
Staple_SF::sf_coupling_plaq
double sf_coupling_plaq(const Field_G &, const double ct)
Definition: staple_SF.cpp:210
ParameterCheck::vl
Bridge::VerboseLevel vl
Definition: parameterCheck.cpp:18
SU_N::Mat_SU_N
Definition: mat_SU_N.h:36
Staple_SF::operator=
Staple_SF & operator=(const Staple_SF &)
field_SF.h
Staple_SF::set_parameter_verboselevel
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Definition: staple_SF.h:87
Staple_SF::m_phipr
std::vector< double > m_phipr
Definition: staple_SF.h:51
Staple_SF::m_p_omega
std::vector< double > m_p_omega
Definition: staple_SF.h:51
Staple_SF::plaq_t_ct
double plaq_t_ct(const Field_G &, const double ct)
Definition: staple_SF.cpp:733
ShiftField_lex
Methods to shift a field in the lexical site index.
Definition: shiftField_lex.h:39
Staple_SF::m_wk
Mat_SU_N m_wk
Definition: staple_SF.h:48
Staple_SF::lower
void lower(Field_G &, const Field_G &, const int, const int)
Definition: staple_SF.cpp:912
Staple_SF::class_name
static const std::string class_name
Definition: staple_SF.h:39
Staple_SF::m_vl
Bridge::VerboseLevel m_vl
Definition: staple_SF.h:42
Staple_SF::print_plaquette
void print_plaquette(const Field_G &)
Definition: staple_SF.cpp:966
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Staple_SF::plaq_t
double plaq_t(const Field_G &)
Definition: staple_SF.cpp:690
Staple_SF::get_parameters
void get_parameters(Parameters &params) const
Definition: staple_SF.cpp:61
Staple_SF::plaq_s
double plaq_s(const Field_G &)
Definition: staple_SF.cpp:652
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512