17 namespace InlineMultipoleEnv
50 XMLReader inputtop(xml, path);
53 read(inputtop,
"version", version);
64 QDPIO::cerr <<
"Input parameter version " << version <<
" unsupported." << std::endl;
78 write(xml,
"version", version);
88 XMLReader inputtop(xml, path);
90 read(inputtop,
"gauge_id", input.gauge_id);
100 write(xml,
"gauge_id", input.gauge_id);
110 XMLReader inputtop(xml, path);
136 XMLReader inputtop(xml_in, path);
147 if (inputtop.count(
"xml_file") != 0)
154 QDPIO::cerr << __func__ <<
": Caught Exception reading XML: " << e << std::endl;
183 push(xml_out,
"multipole");
184 write(xml_out,
"update_no", update_no);
185 write(xml_out,
"xml_file", xml_file);
188 XMLFileWriter xml(xml_file);
189 func(update_no, xml);
193 func(update_no, xml_out);
210 XMLBufferWriter gauge_xml;
216 catch( std::bad_cast )
228 const multi1d<LatticeColorMatrix>&
u =
231 push(xml_out,
"multipole");
232 write(xml_out,
"update_no", update_no);
242 write(xml_out,
"Config_info", gauge_xml);
244 push(xml_out,
"Output_version");
245 write(xml_out,
"out_version", 1);
250 MesPlq(xml_out,
"Observables",
u);
255 LatticePropagator quark_propagator;
265 XMLReader prop_file_xml, prop_record_xml;
275 read(prop_record_xml,
"/Propagator/PropSource", source_header);
279 QDPIO::cerr <<
"Error extracting forward_prop header: " << e << std::endl;
284 write(xml_out,
"Propagator_file_info", prop_file_xml);
285 write(xml_out,
"Propagator_record_info", prop_record_xml);
287 catch( std::bad_cast )
311 multi1d<Double> forward_prop_corr = sumMulti(localNorm2(quark_propagator),
314 push(xml_out,
"Forward_prop_correlator");
315 write(xml_out,
"forward_prop_corr", forward_prop_corr);
323 push(xml_out,
"Multipole_measurements");
326 push(xml_seq_src,
"Sequential_source");
331 write(xml_seq_src,
"seq_src_ctr", seq_src_ctr);
335 LatticePropagator seq_quark_prop;
344 XMLReader seqprop_file_xml, seqprop_record_xml;
352 read(seqprop_record_xml,
"/SequentialProp/SeqSource", seqsource_header);
356 write(xml_seq_src,
"SequentialProp_file_info", seqprop_file_xml);
357 write(xml_seq_src,
"SequentialProp_record_info", seqprop_record_xml);
359 catch( std::bad_cast )
371 QDPIO::cout <<
"Sequential propagator successfully parsed" << std::endl;
380 multi1d<Double> backward_prop_corr = sumMulti(localNorm2(seq_quark_prop),
383 push(xml_seq_src,
"Backward_prop_correlator");
384 write(xml_seq_src,
"backward_prop_corr", backward_prop_corr);
390 QDPIO::cout <<
"Seqsource name = " << seqsource_header.seq_src << std::endl;
391 int t_sink = seqsource_header.
t_sink;
392 multi1d<int> sink_mom = seqsource_header.
sink_mom;
394 write(xml_seq_src,
"hadron_type",
"HADRON");
395 write(xml_seq_src,
"seq_src", seq_src);
397 write(xml_seq_src,
"t_sink", t_sink);
398 write(xml_seq_src,
"sink_mom", sink_mom);
419 << snoop.getTimeInSeconds()
420 <<
" secs" << std::endl;
Inline measurement factory.
Inline measurement of multipole expansion.
void func(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
InlineMultipoleParams params
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.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams ¶m)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
void multipole(const LatticePropagator &quark_propagator, const LatticePropagator &seq_quark_prop, int GammaInsertion, int max_power, int j_decay, int t0, XMLWriter &xml, const std::string &xml_group)
Compute contractions for multipole moments.
void proginfo(XMLWriter &xml)
Print out basic information about this program.
std::string makeXMLFileName(std::string xml_file, unsigned long update_no)
Return a xml file name for inline measurements.
ForwardProp_t prop_header
Inline multipole measurements.
Named object function std::map.
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
push(xml_out,"Condensates")
void MesPlq(const multi1d< LatticeColorMatrixF3 > &u, multi2d< Double > &plane_plaq, Double &link)
void write(XMLWriter &xml, const std::string &path, const InlineMultipoleParams::Multipole_out_t &input)
Multipole parameters.
Print out basic info about this program.
Routines associated with Chroma propagator IO.
Fourier transform phase factor support.
multi1d< NamedObject_t > seqprops
void write(XMLWriter &xml, const std::string &path)
Write params.
struct Chroma::InlineMultipoleParams::Multipole_out_t pole
struct Chroma::InlineMultipoleParams::Param_t param
Propagator source construction parameters.
Sequential source parameters.