GLAC  1.0
luscheraction.h
Go to the documentation of this file.
1 
19 #ifndef LUSCHERACTION_H
20 #define LUSCHERACTION_H
21 
22 #include "action.h"
23 
24 class LuscherAction : public Action
25 {
26 private:
32  int m_muIndex[4];
33 
39  int m_nuIndex[4];
40 
46  double m_beta;
47 
53  double m_multiplicationFactor;
54 
58  SU3 m_staple, m_staple1, m_staple2;
59 
63  Lattice<SU3> m_latticeStaple,m_tempStaple1,m_tempStaple2;
64 
65 public:
66  LuscherAction();
68  double getDeltaAction(SU3 U, SU3 UPrime);
69  void computeStaple(Lattice<SU3> *lattice, unsigned int i, unsigned int j, unsigned int k, unsigned int l, int mu);
71 
76  inline void updateMuIndex(int mu) {
77  for (int i = 0; i < 4; i++)
78  {
79  m_muIndex[i] = 0;
80  }
81  m_muIndex[mu] = 1;
82  }
83 
88  inline void updateNuIndex(int nu) {
89  for (int i = 0; i < 4; i++)
90  {
91  m_nuIndex[i] = 0;
92  }
93  m_nuIndex[nu] = 1;
94  }
95 };
96 
97 #endif // LUSCHERACTION_H
void updateMuIndex(int mu)
updateMuIndex updates the m_muIndex based on mu.
Definition: luscheraction.h:76
class for holding matrices.
Definition: su3.h:18
The Action class.
Definition: action.h:22
An implementation of the Wilson gauge action,.
Definition: luscheraction.h:24
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: luscheraction.cpp:28
Lattice< SU3 > getActionDerivative(Lattice< SU3 > *lattice, int mu)
getActionDerivative, computes the derivative of the lattice in given direction.
Definition: luscheraction.cpp:54
LuscherAction()
Definition: luscheraction.cpp:6
void updateNuIndex(int nu)
updateNuIndex updates the m_nuIndex based on nu.
Definition: luscheraction.h:88
double getDeltaAction(SU3 U, SU3 UPrime)
getDeltaAction computes the change in action. Staple must have already have been calculated.
Definition: luscheraction.cpp:23
~LuscherAction()
Definition: luscheraction.cpp:19