19 namespace InlineBar3ptfnEnv
52 XMLReader inputtop(xml, path);
73 XMLReader inputtop(xml, path);
98 XMLReader paramtop(xml, path);
101 read(paramtop,
"version", version);
117 QDPIO::cerr <<
"Input parameter version " << version <<
" unsupported." << std::endl;
132 write(xml,
"version", version);
149 XMLReader paramtop(xml_in, path);
151 if (paramtop.count(
"Frequency") == 1)
164 QDPIO::cerr << __func__ <<
": Caught Exception reading XML: " << e << std::endl;
205 multi1d<FormFac_sequential_source_t>
seqsrc;
227 write(bin, Layout::lattSize());
272 XMLBufferWriter gauge_xml;
278 catch( std::bad_cast )
290 const multi1d<LatticeColorMatrix>&
u =
293 push(xml_out,
"bar3ptfn");
294 write(xml_out,
"update_no", update_no);
304 write(xml_out,
"Config_info", gauge_xml);
306 push(xml_out,
"Output_version");
307 write(xml_out,
"out_version", 11);
312 MesPlq(xml_out,
"Observables",
u);
317 XMLReader prop_file_xml, prop_record_xml;
318 LatticePropagator quark_propagator;
321 QDPIO::cout <<
"Attempt to parse forward propagator" << std::endl;
336 read(prop_record_xml,
"/Propagator/PropSource", source_header);
340 write(xml_out,
"Propagator_file_info", prop_file_xml);
341 write(xml_out,
"Propagator_record_info", prop_record_xml);
343 catch( std::bad_cast )
355 QDPIO::cout <<
"Forward propagator successfully parsed" << std::endl;
368 multi1d<Double> forward_prop_corr = sumMulti(localNorm2(quark_propagator),
371 push(xml_out,
"Forward_prop_correlator");
372 write(xml_out,
"forward_prop_corr", forward_prop_corr);
384 push(xml_out,
"Wilson_3Pt_fn_measurements");
392 push(xml_seq_src,
"Sequential_source");
397 write(xml_seq_src,
"seq_src_ctr", seq_src_ctr);
401 LatticePropagator seq_quark_prop;
403 QDPIO::cout <<
"Attempt to parse sequential propagator" << std::endl;
413 XMLReader seqprop_file_xml, seqprop_record_xml;
421 read(seqprop_record_xml,
"/SequentialProp/SeqSource", seqsource_header);
425 write(xml_seq_src,
"SequentialProp_file_info", seqprop_file_xml);
426 write(xml_seq_src,
"SequentialProp_record_info", seqprop_record_xml);
428 catch( std::bad_cast )
440 QDPIO::cout <<
"Sequential propagator successfully parsed" << std::endl;
448 multi1d<Double> backward_prop_corr = sumMulti(localNorm2(seq_quark_prop),
451 push(xml_seq_src,
"Backward_prop_correlator");
452 write(xml_seq_src,
"backward_prop_corr", backward_prop_corr);
461 QDPIO::cout <<
"Seqsource name = " << seqsrc_type << std::endl;
462 int t_sink = seqsource_header.
t_sink;
463 multi1d<int> sink_mom = seqsource_header.
sink_mom;
465 write(xml_seq_src,
"hadron_type",
"HADRON");
466 write(xml_seq_src,
"seqsrc_type", seqsrc_type);
468 write(xml_seq_src,
"t_sink", t_sink);
469 write(xml_seq_src,
"sink_mom", sink_mom);
470 write(xml_seq_src,
"gamma_insertion", gamma_insertion);
472 bar3pt.
bar.
seqsrc[seq_src_ctr].seqsrc_type = seqsrc_type;
474 bar3pt.
bar.
seqsrc[seq_src_ctr].t_sink = t_sink;
475 bar3pt.
bar.
seqsrc[seq_src_ctr].sink_mom = sink_mom;
476 bar3pt.
bar.
seqsrc[seq_src_ctr].gamma_insertion = gamma_insertion;
482 u, quark_propagator, seq_quark_prop, gamma_insertion,
500 write(bin_out, bar3pt);
505 << snoop.getTimeInSeconds()
506 <<
" secs" << std::endl;
Inline measurement factory.
Inline measurement of 3pt functions.
InlineBar3ptfnParams 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 FormFac(FormFac_insertions_t &form, const multi1d< LatticeColorMatrix > &u, const LatticePropagator &quark_propagator, const LatticePropagator &seq_quark_prop, int gamma_insertion, const SftMom &phases, int t0)
Compute contractions for current insertion 3-point functions.
void proginfo(XMLWriter &xml)
Print out basic information about this program.
Inline measurement of bar3ptfn.
ForwardProp_t prop_header
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)
Print out basic info about this program.
Routines associated with Chroma propagator IO.
Fourier transform phase factor support.
FormFac_Wilson_3Pt_fn_measurements_t bar
InlineBar3ptfnParams::Param_t param
Output_version_t output_version
multi1d< SeqProp_t > seqprops
std::string bar3ptfn_file
void write(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlineBar3ptfnParams::NamedObject_t named_obj
struct Chroma::InlineBar3ptfnParams::Param_t param
Propagator source construction parameters.
multi1d< int > getTSrce() const
Sequential source parameters.