Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
forceSmear_APE_SF.h
Go to the documentation of this file.
1 
14 #ifndef FORCESMEAR_APE_ALT_INCLUDED
15 #define FORCESMEAR_APE_ALT_INCLUDED
16 
17 #include "forceSmear.h"
18 #include "smear_APE_SF.h"
19 #include "field_G_SF.h"
20 
21 #include "shiftField_lex.h"
22 #include "bridge_complex.h"
23 
24 #include "projection.h"
25 
26 #include "bridgeIO.h"
27 using Bridge::vout;
28 
30 
37 //- parameters class
39 {
40  public:
42 };
43 //- end
44 
46 {
47  public:
48  static const std::string class_name;
49 
50  private:
51  int m_Ndim, m_Nvol;
52  std::valarray<double> m_rho;
55  std::valarray<Field_G> m_U;
56  std::valarray<Field_G> m_iTheta;
57 
59  double m_phi[3];
61  double m_phipr[3];
62 
64 
65  public:
66 
68  : ForceSmear(), m_proj(proj)
69  {
70  init();
71  }
72 
73  // ~ForceSmear_APE_SF(){
74  // };
75 
76  void set_parameters(const Parameters& params);
77 
78 // void set_parameters (const Parameters_Smear_APE_SF& params);
79 
80  void set_parameters(const double rho1, double *phi, double *phipr);
81  void set_parameters(const std::valarray<double>& rho, double *phi, double *phipr);
82 
83  void force_udiv(Field_G& Sigma, const Field_G& Sigma_p, const Field_G& U);
84 
85  // old interface
86  Field force_udiv(const Field_G& Sigma, const Field_G& U);
87 
88  private:
89 
90  void init();
91 
92  double rho(int mu, int nu)
93  {
94  return m_rho[mu + nu * m_Ndim];
95  }
96 
97  void force_each(Field_G&, const Field_G&, const Field_G&,
98  const Field_G&, const Field_G&, int mu, int nu);
99 
100  void staple(Field_G&, const Field_G&, const Field_G&,
101  int mu, int nu);
102 };
103 #endif
BridgeIO vout
Definition: bridgeIO.cpp:207
void force_udiv(Field_G &Sigma, const Field_G &Sigma_p, const Field_G &U)
static const std::string class_name
void set_parameters(const Parameters &params)
Container of Field-type object.
Definition: field.h:37
std::valarray< Field_G > m_iTheta
Class for parameters.
Definition: parameters.h:40
ForceSmear_APE_SF(Projection *proj)
void force_each(Field_G &, const Field_G &, const Field_G &, const Field_G &, const Field_G &, int mu, int nu)
Base class for force calculation of smeared operators.
Definition: forceSmear.h:37
SU(N) gauge field.
Definition: field_G.h:36
double m_phi[3]
SF boundary condition at t=0.
ShiftField_lex m_shift
Recursive calculation for APE smeared fermion force.
base class for projection operator into gauge group.
Definition: projection.h:33
double m_phipr[3]
SF boundary condition at t=Nt.
void staple(Field_G &, const Field_G &, const Field_G &, int mu, int nu)
std::valarray< Field_G > m_U
std::valarray< double > m_rho
Methods to shift a field in the lexical site index.
double rho(int mu, int nu)