5 #include "qdp_config.h"
19 void read(XMLReader& xml,
const std::string& path, SimpleBaryonSeqSourceEnv::Params& param)
21 SimpleBaryonSeqSourceEnv::Params
tmp(xml, path);
26 void write(XMLWriter& xml,
const std::string& path,
const SimpleBaryonSeqSourceEnv::Params& param)
28 param.writeXML(xml, path);
46 XMLReader paramtop(xml, path);
59 XMLReader paramtop(xml, path);
61 read(paramtop,
"Projector", param.T);
62 read(paramtop,
"DiquarkSpin", param.sp);
105 namespace SimpleBaryonSeqSourceEnv
121 XMLReader paramtop(xml, path);
124 read(paramtop,
"version", version);
132 QDPIO::cerr << __func__ <<
": parameter version " << version
133 <<
" unsupported." << std::endl;
149 write(xml,
"version", version);
166 QDPIO::cerr<<
" code only works for Nc=3 and Ns=4\n";
233 multi2d<DComplex> hsum;
234 hsum = sft.sft(b_prop);
237 return Real(2) * hsum[0][
getTSink()];
249 QDPIO::cerr<<
" code only works for Nc=3 and Ns=4\n";
308 multi2d<DComplex> hsum;
309 hsum = sft.sft(b_prop);
312 return Real(1) * hsum[0][
getTSink()];
325 QDPIO::cerr<<
" code only works for Nc=3 and Ns=4\n";
403 multi2d<DComplex> hsum;
404 hsum = sft.sft(b_prop);
407 return Real(2) * hsum[0][
getTSink()];
420 QDPIO::cerr<<
" code only works for Nc=3 and Ns=4\n";
481 multi2d<DComplex> hsum;
482 hsum = sft.sft(b_prop);
485 return Real(1) * hsum[0][
getTSink()];
502 HadronSeqSource<LatticePropagator>* barNuclNuclU(XMLReader& xml_in,
507 read(xml_in, path, spin);
509 return new BarNuclUTCg5(Params(xml_in, path), spin.T, spin.sp);
519 HadronSeqSource<LatticePropagator>* barNuclNuclD(XMLReader& xml_in,
524 read(xml_in, path, spin);
526 return new BarNuclDTCg5(Params(xml_in, path), spin.T, spin.sp);
537 HadronSeqSource<LatticePropagator>* barNuclUUnpol(XMLReader& xml_in,
551 HadronSeqSource<LatticePropagator>* barNuclDUnpol(XMLReader& xml_in,
565 HadronSeqSource<LatticePropagator>* barNuclUPol(XMLReader& xml_in,
579 HadronSeqSource<LatticePropagator>* barNuclDPol(XMLReader& xml_in,
592 HadronSeqSource<LatticePropagator>* barNuclUUnpolNR(XMLReader& xml_in,
606 HadronSeqSource<LatticePropagator>* barNuclDUnpolNR(XMLReader& xml_in,
620 HadronSeqSource<LatticePropagator>* barNuclUPolNR(XMLReader& xml_in,
634 HadronSeqSource<LatticePropagator>* barNuclDPolNR(XMLReader& xml_in,
650 HadronSeqSource<LatticePropagator>* barNuclUMixedNR(XMLReader& xml_in,
666 HadronSeqSource<LatticePropagator>* barNuclDMixedNR(XMLReader& xml_in,
684 HadronSeqSource<LatticePropagator>* barNuclUMixedNRnegPar(XMLReader& xml_in,
687 return new BarNuclUTCg5(Params(xml_in, path),
700 HadronSeqSource<LatticePropagator>* barNuclDMixedNRnegPar(XMLReader& xml_in,
703 return new BarNuclDTCg5(Params(xml_in, path),
727 HadronSeqSource<LatticePropagator>* barXiDMixedNR(XMLReader& xml_in,
741 HadronSeqSource<LatticePropagator>* barDeltaDeltaU(XMLReader& xml_in,
746 read(xml_in, path, spin);
748 return new BarDeltaUTsp(Params(xml_in, path), spin.T, spin.sp);
758 HadronSeqSource<LatticePropagator>* barDeltaDeltaD(XMLReader& xml_in,
763 read(xml_in, path, spin);
765 return new BarDeltaDTsp(Params(xml_in, path), spin.T, spin.sp);
782 HadronSeqSource<LatticePropagator>* barDeltaUUnpol(XMLReader& xml_in,
803 HadronSeqSource<LatticePropagator>* barDeltaDUnpol(XMLReader& xml_in,
863 barNuclUMixedNRnegPar);
866 barNuclDMixedNRnegPar);
Heavy-light baryon 2-pt functions.
Baryon spin and projector matrices.
Factory for producing baryon spin matrix contraction objects.
virtual LatticePropagator projectBaryon(const LatticePropagator &src_prop_tmp, const multi1d< ForwardProp_t > &forward_headers)
Combine projection with time-ordering.
virtual void setBC(const multi1d< ForwardProp_t > &forward_headers)
Convenience function to yank the boundary condition from the forward prop headers.
virtual void setTSrce(const multi1d< ForwardProp_t > &forward_headers)
Convenience function to yank the source location from the forward prop headers.
Fourier transform phase factor support.
int getTSink() const
Get t_sink.
const multi1d< int > & getSinkMom() const
Get sink_mom.
int getDecayDir() const
Get decay_dir.
multi1d< int > & getTSrce()
Set t_srce.
Complex twoPtSink(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props, int gamma_insertion)
Compute the 2-pt at the sink.
LatticePropagator operator()(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props)
Construct the source.
int getTSink() const
Get t_sink.
int getDecayDir() const
Get decay_dir.
multi1d< int > & getTSrce()
Set t_srce.
const multi1d< int > & getSinkMom() const
Get sink_mom.
LatticePropagator operator()(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props)
Construct the source.
Complex twoPtSink(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props, int gamma_insertion)
Compute the 2-pt at the sink.
int getDecayDir() const
Get decay_dir.
int getTSink() const
Get t_sink.
const multi1d< int > & getSinkMom() const
Get sink_mom.
LatticePropagator operator()(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props)
Construct the source.
multi1d< int > & getTSrce()
Set t_srce.
Complex twoPtSink(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props, int gamma_insertion)
Compute the 2-pt at the sink.
int getTSink() const
Get t_sink.
LatticePropagator operator()(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props)
Construct the source.
const multi1d< int > & getSinkMom() const
Get sink_mom.
int getDecayDir() const
Get decay_dir.
Complex twoPtSink(const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< LatticePropagator > &forward_props, int gamma_insertion)
Compute the 2-pt at the sink.
multi1d< int > & getTSrce()
Set t_srce.
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.
LatticeComplex sigma2pt(const LatticePropagator &quark_propagator_1, const LatticePropagator &quark_propagator_2, const SpinMatrix &T, const SpinMatrix &sp)
Sigma 2-pt.
LatticeComplex sigmast2pt(const LatticePropagator &quark_propagator_1, const LatticePropagator &quark_propagator_2, const SpinMatrix &T, const SpinMatrix &sp)
Delta 2-pt.
static bool registered
Local registration flag.
const std::string name
Name to be used.
bool registerAll()
Register all the factories.
SpinMatrix Tmixed()
T = (1 + \Sigma_3)*(1 + gamma_4) / 2 = (1 + Gamma(8) - i G(3) - i G(11)) / 2.
SpinMatrix Tunpol()
T = (1 + gamma_4) / 2 = (1 + Gamma(8)) / 2.
SpinMatrix Cg5NRnegPar()
C g_5 NR = (1/2)*C gamma_5 * ( 1 - g_4 )
SpinMatrix Cgm()
C gamma_- = Cgm = (C gamma_-)^T.
SpinMatrix TmixedNegPar()
T = (1 - \Sigma_3)*(1 - gamma_4) / 2 = (1 - Gamma(8) + i G(3) - i G(11)) / 2.
SpinMatrix Cg5()
C g_5 = C gamma_5 = Gamma(5)
SpinMatrix Cg5NR()
C g_5 NR = (1/2)*C gamma_5 * ( 1 + g_4 )
SpinMatrix Tpol()
T = \Sigma_3 (1 + gamma_4) / 2 = -i (Gamma(3) + Gamma(11)) / 2.
LatticeColorMatrix col_mat
check2Args("BarNuclTCg5", quark_propagators)
bool registerAll()
Register all the factories.
multi1d< ForwardProp_t > & forward_headers
LatticePropagator src_prop_tmp
multi1d< LatticePropagator > & quark_propagators
LatticePropagator di_quark
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
push(xml_out,"Condensates")
LinOpSysSolverMGProtoClover::T T
multi1d< LatticeFermion > s(Ncb)
Factory for producing quark prop sinks.
Fourier transform phase factor support.
Construct baryon sequential sources.
void writeXML(XMLWriter &in, const std::string &path) const
Read an XML group as a std::string.