25 XMLReader inputtop(xml, path);
45 namespace InlineSeqSourceEnv
83 XMLReader paramtop(xml_in, path);
85 if (paramtop.count(
"Frequency") == 1)
101 QDPIO::cerr << __func__ <<
": Caught Exception reading XML: " << e << std::endl;
132 XMLBufferWriter gauge_xml;
138 catch( std::bad_cast )
140 QDPIO::cerr <<
name <<
": caught dynamic cast error"
146 QDPIO::cerr <<
name <<
": std::map call failed: " << e
150 const multi1d<LatticeColorMatrix>&
u =
153 push(xml_out,
"seqsource");
154 write(xml_out,
"update_no", update_no);
156 QDPIO::cout <<
name <<
": propagator sequential source constructor" << std::endl;
165 write(xml_out,
"Config_info", gauge_xml);
167 push(xml_out,
"Output_version");
168 write(xml_out,
"out_version", 1);
172 MesPlq(xml_out,
"Observables",
u);
177 QDPIO::cerr <<
name <<
": sanity error: " << std::endl;
186 push(xml_out,
"Forward_prop_infos");
189 push(xml_out,
"elem");
193 forward_props[loop] =
197 XMLReader prop_file_xml, prop_record_xml;
204 read(prop_record_xml,
"/Propagator", header);
212 write(xml_out,
"Propagator_info", prop_record_xml);
214 catch( std::bad_cast )
216 QDPIO::cerr <<
name <<
": caught dynamic cast error"
222 QDPIO::cerr <<
name <<
": std::map call failed: " << e
230 QDPIO::cout <<
"Forward propagator successfully read and parsed" << std::endl;
240 push(xml_out,
"Forward_prop_correlators");
243 multi1d<Double> forward_prop_corr = sumMulti(localNorm2(forward_props[loop]),
246 push(xml_out,
"elem");
247 write(xml_out,
"forward_prop_corr", forward_prop_corr);
255 QDPIO::cerr <<
"Sink time coordinate incorrect." << std::endl;
263 LatticePropagator quark_prop_src;
273 XMLReader sinktop(xml_s);
286 (*sinkSmearing)(forward_props[loop]);
296 XMLReader seqsrctop(xml_seq);
310 QDPIO::cout <<
"Hadron sequential source computed: time= "
311 << swatch.getTimeInSeconds()
312 <<
" secs" << std::endl;
316 (*sinkSmearing)(quark_prop_src);
321 QDPIO::cerr <<
name <<
": Caught Exception in sink: " << e << std::endl;
329 multi1d<Double> seqsource_corr = sumMulti(localNorm2(quark_prop_src),
332 push(xml_out,
"SeqSource_correlator");
333 write(xml_out,
"seqsource_corr", seqsource_corr);
343 QDPIO::cout <<
"Attempt to store sequential source" << std::endl;
345 XMLBufferWriter file_xml;
346 push(file_xml,
"seqsource");
356 new_header.
gauge_header = gauge_xml.printCurrentContext();
358 XMLBufferWriter record_xml;
359 write(record_xml,
"SequentialSource", new_header);
367 QDPIO::cout <<
"Sequential source successfully stored" << std::endl;
369 catch (std::bad_cast)
371 QDPIO::cerr <<
name <<
": dynamic cast error"
377 QDPIO::cerr <<
name <<
": error storing seqsource: " << e << std::endl;
384 QDPIO::cout <<
name <<
": total time = "
385 << snoop.getTimeInSeconds()
386 <<
" secs" << std::endl;
388 QDPIO::cout <<
name <<
": ran successfully" << std::endl;
Inline measurement factory.
Class for counted reference semantics.
Compute a sequential source.
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.
std::string uniqueId()
Return a unique id.
void proginfo(XMLWriter &xml)
Print out basic information about this program.
Class for counted reference semantics.
Inline construction of sequential sources.
Named object function std::map.
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
bool registerAll()
Register all the factories.
bool registerAll()
Register all the factories.
multi1d< ForwardProp_t > & forward_headers
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.
All sequential source constructors.
Factory for producing quark prop sinks.
Fourier transform phase factor support.
All make sink constructors.
Factory for producing quark prop sinks.
multi1d< std::string > prop_ids
PropSinkSmear_t sink_header
void writeXML(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlineSeqSourceEnv::Params::NamedObject_t named_obj
Mega structure holding a full forward prop (not sink smeared)
PropSourceConst_t source_header
Mega structure holding a full sequential source.
PropSinkSmear_t sink_header
multi1d< ForwardProp_t > forward_props
SeqSource_t seqsource_header