32 namespace SimpleMesonSeqSourceEnv
43 int sign_g5adjGfg5(
int sink_insertion)
49 if ((sink_insertion & 1) != 0) cnt++;
50 if ((sink_insertion & 2) != 0) cnt++;
51 if ((sink_insertion & 4) != 0) cnt++;
52 if ((sink_insertion & 8) != 0) cnt++;
68 QDPIO::cerr << __func__ <<
": internal error - number of bits not supported" << std::endl;
82 LatticePropagator mesA0XSeqSrc(
const LatticePropagator& quark_prop,
int gamma_sink)
86 QDPIO::cout <<
"Simple meson sequential source: gamma_sink = " << gamma_sink << std::endl;
91 LatticePropagator fin = sign_g5adjGfg5(gamma_sink) * (Gamma(gamma_sink) * quark_prop);
341 XMLReader paramtop(xml, path);
344 read(paramtop,
"version", version);
352 QDPIO::cerr << __func__ <<
": parameter version " << version
353 <<
" unsupported." << std::endl;
369 write(xml,
"version", version);
386 QDPIO::cout <<
"Simple meson sequential source: gamma_sink = " << gamma_sink << std::endl;
391 QDPIO::cerr << __func__ <<
": expect only 1 prop" << std::endl;
400 LatticeComplex ph = conj(
phases());
420 QDPIO::cerr << __func__ <<
": expect 2 props" << std::endl;
425 LatticeComplex corr_fn =
431 multi2d<DComplex> hsum;
432 hsum = sft.sft(corr_fn);
446 QDPIO::cout <<
"Pion-Pion meson sequential source" << std::endl;
451 QDPIO::cerr << __func__ <<
": expect only 1 prop" << std::endl;
460 LatticeComplex ph = conj(
phases());
480 QDPIO::cerr << __func__ <<
": expect 2 props" << std::endl;
485 int gamma_i = gamma_insertion ^ unsigned(Ns*Ns-1);
486 QDPIO::cout << __func__ <<
": gamma_i=" << gamma_i << std::endl;
489 LatticeComplex corr_fn =
495 multi2d<DComplex> hsum;
496 hsum = sft.sft(corr_fn);
558 mesPion1Pion1SeqSrc);
562 mesPion1Pion1SeqSrc);
virtual const multi1d< int > & getSinkMom() const=0
Get sink_mom.
virtual int getDecayDir() const=0
Get decay_dir.
virtual Complex twoPtSink(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props, int gamma_insertion)=0
Compute the 2-pt at the sink.
virtual multi1d< int > & getTSrce()=0
Set t_srce.
virtual LatticePropagator project(const LatticePropagator &src_prop_tmp) const
Project onto a definite time-slice.
virtual LatticeComplex phases() const
Construct phases.
virtual int getTSink() const=0
Get t_sink.
virtual void setTSrce(const multi1d< ForwardProp_t > &forward_headers)
Convenience function to yank the source location from the forward prop headers.
virtual LatticePropagator operator()(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props)=0
Construct the source.
Simple meson sequential source construction.
LatticePropagator gamma5Herm(const LatticePropagator &source_prop)
Return gamma_5*adj(source)*gamma_f.
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.
static bool registered
Local registration flag.
multi1d< ForwardProp_t > & forward_headers
multi1d< LatticePropagator > & quark_propagators
Register all the factories bool registerAll()
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
push(xml_out,"Condensates")
Factory for producing quark prop sinks.
Fourier transform phase factor support.
Construct meson sequential sources.
Simple meson sequential source parameters.
void writeXML(XMLWriter &in, const std::string &path) const