GLAC  1.0
mastersamplertopcxyz.h
Go to the documentation of this file.
1 
30 #ifndef MASTERSAMPLERTOPCXYZ_H
31 #define MASTERSAMPLERTOPCXYZ_H
32 
33 #include "math/lattice.h"
35 
37 {
38 private:
39  int mu, rho, sigma;
40  double m_plaqMultiplicationFactor, m_topcMultiplicationFactor, m_energyMultiplicationFactor;
41  double m_topCharge, m_energy, m_plaquette;
42  Lattice <double> m_tempDiag;
43  Lattice<SU3> m_clov1, m_clov2, m_U2Temp, m_U3Temp, m_temp;
44 
45  // Container for the topc xyz observable
46  std::vector<double> m_topctGatherVector;//m_tempTopctArray;
47  std::vector<double> m_tempTopct;
48 
49  // Creates a object that store the observable
50  ObservableStorer * m_plaqObservable = nullptr;
51  ObservableStorer * m_topcObservable = nullptr;
52  ObservableStorer * m_energyObservable = nullptr;
53  ObservableStorer * m_topctObservable = nullptr;
54 public:
55  MasterSamplerTopcXYZ(bool flow);
57  void calculate(Lattice<SU3> * lattice, unsigned int iObs);
58  void initializeObservableStorer(bool storeFlowObservable);
59 
60  void writeObservableToFile(double acceptanceRatio);
61  void writeFlowObservablesToFile(unsigned int configNumber);
62  void reset();
63  void runStatistics();
64  void printHeader();
65  void printObservable(unsigned int iObs);
66  void printStatistics();
67  std::vector<double> getObservablesVector(unsigned int iObs);
68  void copyObservable(unsigned int iObs, std::vector<double> obs);
69 };
70 
71 #endif // MASTERSAMPLERTOPCXYZ_H
void printStatistics()
Correlator::printStatistics prints statistics from ObservableStorer.
Definition: mastersamplertopcxyz.cpp:206
~MasterSamplerTopcXYZ()
Definition: mastersamplertopcxyz.cpp:37
A class for storing the observable data.
Definition: observablestorer.h:19
void initializeObservableStorer(bool storeFlowObservable)
Correlator::initializeObservableStorer initializes ObservableStorer.
Definition: mastersamplertopcxyz.cpp:46
Observable for calculating the plaquette, energy and euclidean time topological charge.
Definition: mastersamplertopcxyz.h:36
void reset()
Correlator::reset resets ObservableStorer.
Definition: mastersamplertopcxyz.cpp:108
void printObservable(unsigned int iObs)
Correlator::printObservable prints the observable for the output.
Definition: mastersamplertopcxyz.cpp:157
void copyObservable(unsigned int iObs, std::vector< double > obs)
Correlator::copyObservable copies the observable if has already been calculated at zero flow time.
Definition: mastersamplertopcxyz.cpp:213
void writeObservableToFile(double acceptanceRatio)
Correlator::writeObservableToFile calls the ObservableStorer for writing observable to file.
Definition: mastersamplertopcxyz.cpp:96
void calculate(Lattice< SU3 > *lattice, unsigned int iObs)
Correlator::calculate calculates a observable.
Definition: mastersamplertopcxyz.cpp:236
std::vector< double > getObservablesVector(unsigned int iObs)
Correlator::getObservablesVector.
Definition: mastersamplertopcxyz.cpp:223
void printHeader()
Correlator::printHeader prints a the observable name for output in header.
Definition: mastersamplertopcxyz.cpp:140
void runStatistics()
Correlator::runStatistics.
Definition: mastersamplertopcxyz.cpp:128
base class for observables.
Definition: correlator.h:20
void writeFlowObservablesToFile(unsigned int configNumber)
Correlator::writeFlowObservablesToFile.
Definition: mastersamplertopcxyz.cpp:75
MasterSamplerTopcXYZ(bool flow)
Definition: mastersamplertopcxyz.cpp:8