GLAC  1.0
latticeactionchargedensity.h
Go to the documentation of this file.
1 
21 #ifndef LATTICEACTIONCHARGEDENSITY_H
22 #define LATTICEACTIONCHARGEDENSITY_H
23 
24 #include "math/lattice.h"
26 
28 {
29 private:
30  int m_samplingFrequency = 25;
31  int mu, rho, sigma;
32  double m_plaqMultiplicationFactor, m_topcMultiplicationFactor, m_energyMultiplicationFactor;
33  double m_plaquette;
34  Lattice <double> m_tempDiag, m_topCharge, m_energy;
35  Lattice<SU3> m_clov1, m_clov2, m_U2Temp, m_U3Temp, m_temp;
36 
37  // Creates a object that store the observable
38  ObservableStorer * m_plaqObservable = nullptr;
39  ObservableStorer * m_topcObservable = nullptr;
40  ObservableStorer * m_energyObservable = nullptr;
41 public:
42  LatticeActionChargeDensity(bool flow);
44  void calculate(Lattice<SU3> * lattice, unsigned int iObs);
45  void initializeObservableStorer(bool storeFlowObservable);
46 
47  void writeObservableToFile(double acceptanceRatio);
48  void writeFlowObservablesToFile(unsigned int iFlow);
49  void reset();
50  void runStatistics();
51  void printHeader();
52  void printObservable(unsigned int iObs);
53  void printStatistics();
54  std::vector<double> getObservablesVector(unsigned int iObs);
55  void copyObservable(unsigned int iObs, std::vector<double> obs);
56 };
57 
58 #endif // LATTICEACTIONCHARGEDENSITY_H
void printObservable(unsigned int iObs)
Correlator::printObservable prints the observable for the output.
Definition: latticeactionchargedensity.cpp:119
A class for storing the observable data.
Definition: observablestorer.h:19
LatticeActionChargeDensity(bool flow)
Definition: latticeactionchargedensity.cpp:7
void copyObservable(unsigned int iObs, std::vector< double > obs)
Correlator::copyObservable copies the observable if has already been calculated at zero flow time.
Definition: latticeactionchargedensity.cpp:153
void printHeader()
Correlator::printHeader prints a the observable name for output in header.
Definition: latticeactionchargedensity.cpp:104
void calculate(Lattice< SU3 > *lattice, unsigned int iObs)
Correlator::calculate calculates a observable.
Definition: latticeactionchargedensity.cpp:169
void writeObservableToFile(double acceptanceRatio)
Correlator::writeObservableToFile calls the ObservableStorer for writing observable to file.
Definition: latticeactionchargedensity.cpp:79
std::vector< double > getObservablesVector(unsigned int iObs)
Correlator::getObservablesVector.
Definition: latticeactionchargedensity.cpp:160
void printStatistics()
Correlator::printStatistics prints statistics from ObservableStorer.
Definition: latticeactionchargedensity.cpp:146
~LatticeActionChargeDensity()
Definition: latticeactionchargedensity.cpp:33
void reset()
Correlator::reset resets ObservableStorer.
Definition: latticeactionchargedensity.cpp:86
base class for observables.
Definition: correlator.h:20
void writeFlowObservablesToFile(unsigned int iFlow)
Correlator::writeFlowObservablesToFile.
Definition: latticeactionchargedensity.cpp:66
void runStatistics()
Correlator::runStatistics.
Definition: latticeactionchargedensity.cpp:97
void initializeObservableStorer(bool storeFlowObservable)
Correlator::initializeObservableStorer initializes ObservableStorer.
Definition: latticeactionchargedensity.cpp:41
Method for calculating and storing the topological charge and energy density at every point of the la...
Definition: latticeactionchargedensity.h:27