5 #error "Converted but not tested"
8 #include "meas/pbp/stagpbp_s.h"
34 const StaggeredFermActBase&
S_f,
36 const multi1d<Real>&
Mass,
38 const multi1d<Real>&
RsdCG,
44 const int numMass =
Mass.size();
48 multi1d<Double>
TrDinv(numMass);
50 multi1d<Double> TrDinv_sq(numMass);
52 multi1d<Double> TrBdag_Eta(numMass);
53 multi1d<Double> TrEtadag_Eta(numMass);
55 multi1d<Double> TrBdag_Eta_avg(numMass);
56 multi1d<Double> TrEtadag_Eta_avg(numMass);
57 multi1d<LatticeStaggeredFermion>
eta(numMass);
58 LatticeStaggeredFermion
b;
88 S_f.getFermBC().modifyF(
b);
114 for(
i=0;
i < numMass; ++
i)
119 TrEtadag_Eta[
i] += norm2(
eta[
i]);
125 TrBdag_B_avg += TrBdag_B;
126 TrBdag_Eta_avg += TrBdag_Eta;
127 TrEtadag_Eta_avg += TrEtadag_Eta;
131 ddummy1 = TO_DOUBLE(1) / TO_DOUBLE(vol_cb);
133 for(
i=0;
i < numMass; ++
i)
136 TrEtadag_Eta[
i] = TrEtadag_Eta[
i] *
ddummy1;
139 push(xml_out,
"Staggered_trace_hit");
142 write(xml_out,
"TrBdag_B", TrBdag_B);
143 write(xml_out,
"TrBdag_Eta", TrBdag_Eta);
144 write(xml_out,
"TrEtadag_Eta", TrEtadag_Eta);
152 TrBdag_B_avg = TrBdag_B_avg *
ddummy1;
153 for(
i=0;
i < numMass; ++
i)
155 TrBdag_Eta_avg[
i] = TrBdag_Eta_avg[
i] *
ddummy1;
156 TrEtadag_Eta_avg[
i] = TrEtadag_Eta_avg[
i] *
ddummy1;
172 for(
i=0;
i < numMass; ++
i)
179 TrDinv_sq[
i] += TrEtadag_Eta_avg[
i] *
ddummy1;
182 push(xml_out,
"Staggered_trace_avg");
184 write(xml_out,
"TrBdag_B_avg", TrBdag_B_avg);
185 write(xml_out,
"TrBdag_Eta_avg", TrBdag_Eta_avg);
186 write(xml_out,
"TrEtadag_Eta_avg", TrEtadag_Eta_avg);
189 write(xml_out,
"TrDinv_sq", TrDinv_sq);
Primary include file for CHROMA library code.
Class for counted reference semantics.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
Asqtad Staggered-Dirac operator.
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > enum InvType invType const multi1d< Real > & RsdCG
QDP_error_exit("too many BiCG iterations", n_count, rsd_sq, cp, c, re_rvr, im_rvr, re_a, im_a, re_b, im_b)
static multi1d< LatticeColorMatrix > u
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > & Mass
push(xml_out,"Condensates")
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > enum InvType invType const multi1d< Real > int MaxCG
void StagPbp(XMLWriter &xml_out, const StaggeredFermActBase &S_f, Handle< const ConnectState > state, const multi1d< Real > &Mass, enum InvType invType, const multi1d< Real > &RsdCG, int MaxCG, int nhit)
Calculates noise estimator for the staggered trace.
multi1d< Double > TrHinv_sq(numMass)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
multi1d< Double > TrDinv(numMass)
const WilsonTypeFermAct< multi1d< LatticeFermion > > & S_f
FloatingPoint< double > Double