19 namespace InlineDiquarkEnv
51 XMLReader paramtop(xml, path);
54 read(paramtop,
"version", version);
62 QDPIO::cerr <<
"Input parameter version " << version <<
" unsupported." << std::endl;
75 write(xml,
"version", version);
84 XMLReader inputtop(xml, path);
111 XMLReader paramtop(xml_in, path);
113 if (paramtop.count(
"Frequency") == 1)
126 QDPIO::cerr << __func__ <<
": Caught Exception reading XML: " << e << std::endl;
159 XMLBufferWriter gauge_xml;
165 catch( std::bad_cast )
177 const multi1d<LatticeColorMatrix>&
u =
180 push(xml_out,
"diquark");
181 write(xml_out,
"update_no", update_no);
195 write(xml_out,
"Config_info", gauge_xml);
197 push(xml_out,
"Output_version");
198 write(xml_out,
"out_version", 1);
202 MesPlq(xml_out,
"Observables",
u);
205 const int Nprops = 2;
208 QDPIO::cerr <<
"Error on input params - expecting 3 buffers" << std::endl;
218 multi1d<LatticePropagator> quark_propagator(Nprops);
223 for(
int i=0;
i < Nprops; ++
i)
229 quark_propagator[
i] =
233 XMLReader prop_file_xml, prop_record_xml;
243 catch( std::bad_cast )
260 write(xml_out,
"Propagator_input", diquark_header);
269 push(xml_out,
"SinkSmearedProp_correlator");
270 for(
int i=0;
i < Nprops; ++
i)
275 push(xml_out,
"elem");
276 write(xml_out,
"correlator_num",
i);
277 write(xml_out,
"sink_smeared_prop_corr", prop_corr);
293 LatticePropagator q_tmp;
294 for(
int i=0;
i < Nprops; ++
i)
296 q_tmp = adj(
U) * quark_propagator[
i] *
U;
297 quark_propagator[
i] = q_tmp;
306 quark_propagator[1]);
311 QDPIO::cout <<
"Attempt to update diquark object" << std::endl;
313 XMLBufferWriter file_xml;
314 push(file_xml,
"diquark");
318 XMLBufferWriter record_xml;
319 write(record_xml,
"Diquark", diquark_header);
328 QDPIO::cout <<
"Diquark successfully update" << std::endl;
330 catch (std::bad_cast)
347 << snoop.getTimeInSeconds()
348 <<
" secs" << std::endl;
Inline measurement factory.
Inline computation of diquarks for QQQ.
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
Fourier transform phase factor support.
const Set & getSet() const
The set to be used in sumMulti.
Construct a diquark object.
Basis rotation matrix from Dirac to Degrand-Rossi (and reverse)
SpinMatrixD DiracToDRMat()
The Dirac to Degrand-Rossi spin transformation matrix (and reverse)
void QQDiquark(QQDiquarkContract_t &diquark, const LatticePropagator &quark_propagator_1, const LatticePropagator &quark_propagator_2)
Construct a QQ diquark object.
std::string uniqueId()
Return a unique id.
void proginfo(XMLWriter &xml)
Print out basic information about this program.
Inline construction of the diquark within a QQQ.
Named object function std::map.
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
void read(XMLReader &xml, const std::string &path, InlineDiquarkEnv::Params::Param_t &input)
Param input.
void write(XMLWriter &xml, const std::string &path, const InlineDiquarkEnv::Params::Param_t &input)
Param output.
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
push(xml_out,"Condensates")
void MesPlq(const multi1d< LatticeColorMatrixF3 > &u, multi2d< Double > &plane_plaq, Double &link)
Print out basic info about this program.
Fourier transform phase factor support.
multi1d< std::string > prop_ids
struct Chroma::InlineDiquarkEnv::Params::Param_t param
void writeXML(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlineDiquarkEnv::Params::NamedObject_t named_obj
Mega structure holding QQ diquark object.
multi1d< ForwardProp_t > forward_props
multi1d< LatticeColorMatrix > U