38 float, init_step_size,
43 init_step_size(ss), meas_interval(mi), maxTau(mT), tolerance(tol){}
45 template <
class ReaderClass >
47 read(Reader,
"Smearing", *
this);
60 interval(interval), Smearing(smearing){}
62 template <
class ReaderClass >
64 read(Reader,
"TopologyMeasurement", *
this);
80 typedef typename Impl::Field
Field;
83 Pars(interval, do_smearing){}
86 std::cout <<
GridLogDebug <<
"Creating TopologicalCharge " << std::endl;
94 if (traj%
Pars.interval == 0){
97 int def_prec = std::cout.precision();
99 if (
Pars.do_smearing){
104 std::cout <<
GridLogMessage << std::setprecision(std::numeric_limits<Real>::digits10 + 1)
105 <<
"T0 : [ " << traj <<
" ] "<<
T0 << std::endl;
110 << std::setprecision(std::numeric_limits<Real>::digits10 + 1)
111 <<
"Topological Charge: [ " << traj <<
" ] "<< q << std::endl;
113 std::cout.precision(def_prec);
GridLogger GridLogDebug(1, "Debug", GridLogColours, "PURPLE")
GridLogger GridLogMessage(1, "Message", GridLogColours, "NORMAL")
#define NAMESPACE_BEGIN(A)
static INTERNAL_PRECISION U
TopologyObsParameters Pars
TopologicalCharge(int interval=1, bool do_smearing=false)
void TrajectoryComplete(int traj, Field &U, GridSerialRNG &sRNG, GridParallelRNG &pRNG)
TopologicalCharge(TopologyObsParameters P)
INHERIT_GIMPL_TYPES(Impl)
void smear(GaugeField &out, const GaugeField &in) const override
static RealD energyDensityPlaquette(const RealD t, const GaugeField &U)
static Real TopologicalCharge(const GaugeLorentz &U)
TopologyObsParameters(Reader< ReaderClass > &Reader)
GRID_SERIALIZABLE_CLASS_MEMBERS(TopologyObsParameters, int, interval, bool, do_smearing, TopologySmearingParameters, Smearing)
TopologyObsParameters(int interval=1, bool smearing=false)
TopologySmearingParameters(float ss=0.0f, int mi=0, float mT=0.0f, float tol=1e-4)
TopologySmearingParameters(Reader< ReaderClass > &Reader)
GRID_SERIALIZABLE_CLASS_MEMBERS(TopologySmearingParameters, int, meas_interval, float, init_step_size, float, maxTau, float, tolerance)