GLAC  1.0
wilsongaugeaction.h
Go to the documentation of this file.
1 
19 #ifndef WILSONGAUGEACTION_H
20 #define WILSONGAUGEACTION_H
21 
22 #include "action.h"
23 
24 class WilsonGaugeAction : public Action
25 {
26 private:
27  // Lorentz indices arrays
28  int m_muIndex[4];
29  int m_nuIndex[4];
30  // Action based constants
31  double m_beta;
32  double m_multiplicationFactor;
33  SU3 m_staple, m_staple1, m_staple2;
34  Lattice<SU3> m_latticeStaple,m_tempStaple1,m_tempStaple2;
35  Lattice<double> m_tempDiag;
36 public:
39  double getDeltaAction(SU3 U, SU3 UPrime);
40  void computeStaple(Lattice<SU3> *lattice, unsigned int i, unsigned int j, unsigned int k, unsigned int l, int mu);
42 
43  inline void updateMuIndex(int mu) {
44  for (int i = 0; i < 4; i++)
45  {
46  m_muIndex[i] = 0;
47  }
48  m_muIndex[mu] = 1;
49  }
50  inline void updateNuIndex(int nu) {
51  for (int i = 0; i < 4; i++)
52  {
53  m_nuIndex[i] = 0;
54  }
55  m_nuIndex[nu] = 1;
56  }
57 };
58 
59 #endif // WILSONGAUGEACTION_H
An implementation of the Wilson gauge action,.
Definition: wilsongaugeaction.h:24
WilsonGaugeAction()
Definition: wilsongaugeaction.cpp:6
class for holding matrices.
Definition: su3.h:18
double getDeltaAction(SU3 U, SU3 UPrime)
getDeltaAction computes the change in action. Staple must have already have been calculated.
Definition: wilsongaugeaction.cpp:24
The Action class.
Definition: action.h:22
void updateNuIndex(int nu)
Definition: wilsongaugeaction.h:50
void updateMuIndex(int mu)
Definition: wilsongaugeaction.h:43
~WilsonGaugeAction()
Definition: wilsongaugeaction.cpp:20
void computeStaple(Lattice< SU3 > *lattice, unsigned int i, unsigned int j, unsigned int k, unsigned int l, int mu)
computeStaple computes the staple at given poisition.
Definition: wilsongaugeaction.cpp:29
Lattice< SU3 > getActionDerivative(Lattice< SU3 > *lattice, int mu)
getActionDerivative, computes the derivative of the lattice in given direction.
Definition: wilsongaugeaction.cpp:55