GLAC  1.0
action.h
Go to the documentation of this file.
1 
13 #ifndef ACTION_H
14 #define ACTION_H
15 
16 #include "math/lattice.h"
17 #include <vector>
18 
19 using std::cout;
20 using std::endl;
21 
22 class Action
23 {
24 protected:
28  std::vector<unsigned int> m_N;
30 
33  std::vector<int> m_position;
34 public:
35 
37  Action();
38 
42  virtual ~Action();
43 
49  virtual double getDeltaAction(SU3 U, SU3 UPrime);
50 
61  virtual void computeStaple(Lattice<SU3> *lattice, unsigned int i, unsigned int j, unsigned int k, unsigned int l, int mu);
62 
68  virtual Lattice<SU3> getActionDerivative(Lattice<SU3> * lattice, int mu);
69 };
70 
71 
72 
73 #endif // ACTION_H
std::vector< unsigned int > m_N
m_N Lattice dimension array
Definition: action.h:28
std::vector< int > m_position
Array for holding the position in lattice.
Definition: action.h:33
virtual 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: action.cpp:22
class for holding matrices.
Definition: su3.h:18
The Action class.
Definition: action.h:22
virtual ~Action()
~Action destructor. Nothing to de-allocate in base class
Definition: action.cpp:10
virtual double getDeltaAction(SU3 U, SU3 UPrime)
getDeltaAction computes the change in action. Staple must have already have been calculated.
Definition: action.cpp:14
Action()
Action base constructor.
Definition: action.cpp:4
virtual Lattice< SU3 > getActionDerivative(Lattice< SU3 > *lattice, int mu)
getActionDerivative, computes the derivative of the lattice in given direction.
Definition: action.cpp:29