Bridge++  Ver. 1.1.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  private:
48  int m_Ndim, m_Nvol;
49  std::valarray<double> m_rho;
52  std::valarray<Field_G> m_U;
53  std::valarray<Field_G> m_iTheta;
54 
56  double m_phi[3];
58  double m_phipr[3];
59 
61 
62  public:
63 
65  : ForceSmear(), m_proj(proj)
66  {
67  init();
68  }
69 
70  // ~ForceSmear_APE_SF(){
71  // };
72 
73  void set_parameters(const Parameters& params);
74 
75 // void set_parameters (const Parameters_Smear_APE_SF& params);
76 
77  void set_parameters(const double rho1, double *phi, double *phipr);
78  void set_parameters(const std::valarray<double>& rho, double *phi, double *phipr);
79 
80  Field force_udiv(const Field_G& Sigma, const Field_G& U);
81 
82  private:
83 
84  void init();
85 
86  double rho(int mu, int nu)
87  {
88  return m_rho[mu + nu * m_Ndim];
89  }
90 
91  void force_each(Field_G&, const Field_G&, const Field_G&,
92  const Field_G&, const Field_G&, int mu, int nu);
93 
94  void staple(Field_G&, const Field_G&, const Field_G&,
95  int mu, int nu);
96 };
97 #endif