CHROMA
Classes | Functions
deriv_meson_seqsrc_w.h File Reference

Construct derivative meson sequential sources. More...

#include "meas/hadron/meson_seqsrc_w.h"

Go to the source code of this file.

Classes

class  DerivMesonSeqSourceBaseNoDir
 Base class for meson deriv-sequential source construction. More...
 
class  DerivMesonSeqSourceBaseDir
 Base class for meson deriv-sequential source construction. More...
 
class  MesA0PionxNablaT1SeqSrc
 Construct a0-(pionxNabla_T1) sequential source. More...
 
class  MesA0A0xNablaT1SeqSrc
 Construct a0-(a0xNabla_T1) sequential source. More...
 
class  MesA0A02xNablaT1SeqSrc
 Construct a0-(a0_2xNabla_T1) sequential source. More...
 
class  MesA0Pion2xNablaT1SeqSrc
 Construct a0-(pion_2xNabla_T1) sequential source. More...
 
class  MesA0RhoxNablaA1SeqSrc
 Construct a0-(rhoxNabla_A1) sequential source. More...
 
class  MesA0RhoxNablaT1SeqSrc
 Construct a0-(rhoxNabla_T1) sequential source. More...
 
class  MesA0RhoxNablaT2SeqSrc
 Construct a0-(rhoxNabla_T2) sequential source. More...
 
class  MesA0RhoxNablaESeqSrc
 Construct a0-(rhoxNabla_E) sequential source. More...
 
class  MesA0Rho2xNablaA1SeqSrc
 Construct a0-(rho_2xNabla_A1) sequential source. More...
 
class  MesA0Rho2xNablaT1SeqSrc
 Construct a0-(rho_2xNabla_T1) sequential source. More...
 
class  MesA0Rho2xNablaT2SeqSrc
 Construct a0-(rho_2xNabla_T2) sequential source. More...
 
class  MesA0Rho2xNablaESeqSrc
 Construct a0-(rho_2xNabla_E) sequential source. More...
 
class  MesA0A1xNablaA1SeqSrc
 Construct a0-(a1xNabla_A1) sequential source. More...
 
class  MesA0A1xNablaT1SeqSrc
 Construct a0-(a1xNabla_T1) sequential source. More...
 
class  MesA0A1xNablaT2SeqSrc
 Construct a0-(a1xNabla_T2) sequential source. More...
 
class  MesA0A1xNablaESeqSrc
 Construct a0-(a1xNabla_E) sequential source. More...
 
class  MesA0B1xNablaA1SeqSrc
 Construct a0-(b1xNabla_A1) sequential source. More...
 
class  MesA0B1xNablaT1SeqSrc
 Construct a0-(b1xNabla_T1) sequential source. More...
 
class  MesA0B1xNablaT2SeqSrc
 Construct a0-(b1xNabla_T2) sequential source. More...
 
class  MesA0B1xNablaESeqSrc
 Construct a0-(b1xNabla_E) sequential source. More...
 
class  MesA0PionxDT2SeqSrc
 Construct a0-(pionxD_T2) sequential source. More...
 
class  MesA0A0xDT2SeqSrc
 Construct a0-(a0xD_T2) sequential source. More...
 
class  MesA0A02xDT2SeqSrc
 Construct a0-(a0_2xD_T2) sequential source. More...
 
class  MesA0Pion2xDT2SeqSrc
 Construct a0-(pion_2xD_T2) sequential source. More...
 
class  MesA0A1xDA2SeqSrc
 Construct a0-(a1xD_A2) sequential source. More...
 
class  MesA0A1xDT1SeqSrc
 Construct a0-(a1xD_T1) sequential source. More...
 
class  MesA0A1xDT2SeqSrc
 Construct a0-(a1xD_T2) sequential source. More...
 
class  MesA0A1xDESeqSrc
 Construct a0-(a1xD_E) sequential source. More...
 
class  MesA0B1xDA2SeqSrc
 Construct a0-(b1xD_A2) sequential source. More...
 
class  MesA0B1xDT1SeqSrc
 Construct a0-(b1xD_T1) sequential source. More...
 
class  MesA0B1xDT2SeqSrc
 Construct a0-(b1xD_T2) sequential source. More...
 
class  MesA0B1xDESeqSrc
 Construct a0-(b1xD_E) sequential source. More...
 
class  MesA0RhoxDA2SeqSrc
 Construct a0-(rhoxD_A2) sequential source. More...
 
class  MesA0RhoxDT1SeqSrc
 Construct a0-(rhoxD_T1) sequential source. More...
 
class  MesA0RhoxDT2SeqSrc
 Construct a0-(rhoxD_T2) sequential source. More...
 
class  MesA0RhoxDESeqSrc
 Construct a0-(rhoxD_E) sequential source. More...
 
class  MesA0Rho2xDA2SeqSrc
 Construct a0-(rho_2xD_A2) sequential source. More...
 
class  MesA0Rho2xDT1SeqSrc
 Construct a0-(rho_2xD_T1) sequential source. More...
 
class  MesA0Rho2xDT2SeqSrc
 Construct a0-(rho_2xD_T2) sequential source. More...
 
class  MesA0Rho2xDESeqSrc
 Construct a0-(rho_2xD_E) sequential source. More...
 
class  MesA0PionxBT1SeqSrc
 Construct a0-(pionxB_T1) sequential source. More...
 
class  MesA0A0xBT1SeqSrc
 Construct a0-(a0xB_T1) sequential source. More...
 
class  MesA0A02xBT1SeqSrc
 Construct a0-(a0_2xB_T1) sequential source. More...
 
class  MesA0Pion2xBT1SeqSrc
 Construct a0-(pion_2xB_T1) sequential source. More...
 
class  MesA0RhoxBA1SeqSrc
 Construct a0-(rhoxB_A1) sequential source. More...
 
class  MesA0RhoxBT1SeqSrc
 Construct a0-(rhoxB_T1) sequential source. More...
 
class  MesA0RhoxBT2SeqSrc
 Construct a0-(rhoxB_T2) sequential source. More...
 
class  MesA0RhoxBESeqSrc
 Construct a0-(rhoxB_E) sequential source. More...
 
class  MesA0Rho2xBA1SeqSrc
 Construct a0-(rho_2xB_A1) sequential source. More...
 
class  MesA0Rho2xBT1SeqSrc
 Construct a0-(rho_2xB_T1) sequential source. More...
 
class  MesA0Rho2xBT2SeqSrc
 Construct a0-(rho_2xB_T2) sequential source. More...
 
class  MesA0Rho2xBESeqSrc
 Construct a0-(rho_2xB_E) sequential source. More...
 
class  MesA0A1xBA1SeqSrc
 Construct a0-(a1xB_A1) sequential source. More...
 
class  MesA0A1xBT1SeqSrc
 Construct a0-(rhoxB_T1) sequential source. More...
 
class  MesA0A1xBT2SeqSrc
 Construct a0-(a1xB_T2) sequential source. More...
 
class  MesA0A1xBESeqSrc
 Construct a0-(a1xB_E) sequential source. More...
 
class  MesA0B1xBA1SeqSrc
 Construct a0-(b1xB_A1) sequential source. More...
 
class  MesA0B1xBT1SeqSrc
 Construct a0-(b1xB_T1) sequential source. More...
 
class  MesA0B1xBT2SeqSrc
 Construct a0-(b1xB_T2) sequential source. More...
 
class  MesA0B1xBESeqSrc
 Construct a0-(b1xB_E) sequential source. More...
 

Functions

virtual LatticePropagator threePtNabla (const LatticePropagator &forward_prop, const multi1d< LatticeColorMatrix > &u, int mu) const
 
virtual LatticePropagator threePtD (const LatticePropagator &forward_prop, const multi1d< LatticeColorMatrix > &u, int mu) const
 Apply left and right "nabla_i" onto the source. More...
 
virtual LatticePropagator threePtB (const LatticePropagator &forward_prop, const multi1d< LatticeColorMatrix > &u, int mu) const
 Apply left and right "D_i" operator onto source. More...
 
virtual LatticeComplex twoPtNabla (const LatticePropagator &forward_prop, const multi1d< LatticeColorMatrix > &u, int mu, int g, int gamma_insertion) const
 Apply left and right "B_i" operator onto source. More...
 
virtual LatticeComplex twoPtB (const LatticePropagator &forward_prop, const multi1d< LatticeColorMatrix > &u, int mu, int g, int insertion) const
 Apply left and right "D_i" operator onto source. More...
 
virtual Complex momentumProject (const LatticeComplex &corr_fn) const
 Project onto the fixed sink-momentum and return the 2-pt at the sink. More...
 
void read (XMLReader &xml, const std::string &path, DerivMesonSeqSourceEnv::Params &param)
 Reader. More...
 
void write (XMLWriter &xml, const std::string &path, const DerivMesonSeqSourceEnv::Params &param)
 Writer. More...
 
void read (XMLReader &xml, const std::string &path, DerivMesonSeqSourceEnv::ParamsDir &param)
 Reader. More...
 
void write (XMLWriter &xml, const std::string &path, const DerivMesonSeqSourceEnv::ParamsDir &param)
 Writer. More...
 

Detailed Description

Construct derivative meson sequential sources.

These operators come from Liao and Manke, hep-lat/0210030 . There are a few variants of derivatives. They are

$D_i = s_{ijk}\nabla_j\nabla_k$ $B_i = \epsilon_{ijk}\nabla_j\nabla_k$ $\nabla_\mu f(x) = U_\mu(x)f(x+\mu) - U_{-\mu}(x)f(x-\mu)$

where

$s_{ijk} = |\epsilon_{ijk}|$ $S_{\alpha jk} = 0\quad j\ne k, S_{111}=S_{222}=1, S_{122}=S_{233}=-1$

The sequential sources return

Returns
$\gamma_5 * \Gamma_f^\dag * \gamma_5 * op(F)\$ */ namespace Chroma { Name and registration /*! @ingroup hadron */ namespace DerivMesonSeqSourceEnv { bool registerAll(); Deriv meson sequential source parameters /*! @ingroup hadron */ struct Params { Params(); Params(XMLReader& in, const std::string& path); void writeXML(XMLWriter& in, const std::string& path) const; int deriv_length; /*!< Displacement length in derivative */ multi1d<int> sink_mom; /*!< sink momentum */ int t_sink; /*!< time slice of sink */ int j_decay; /*!< Decay direction */ }; Deriv meson sequential source parameters /*! @ingroup hadron */ struct ParamsDir { ParamsDir(); ParamsDir(XMLReader& in, const std::string& path); void writeXML(XMLWriter& in, const std::string& path) const; int deriv_dir; /*!< Polarization direction */ int deriv_length; /*!< Displacement length in derivative */ multi1d<int> sink_mom; /*!< sink momentum */ int t_sink; /*!< time slice of sink */ int j_decay; /*!< Decay direction */ }; Base class for meson deriv-sequential source construction /*! @ingroup hadron */ class DerivMesonSeqSourceBase : public MesonSeqSourceBase { public: Default destructor virtual ~DerivMesonSeqSourceBase() {} Construct the source virtual LatticePropagator operator()(const multi1d<LatticeColorMatrix>& u, const multi1d<ForwardProp_t>& forward_headers, const multi1d<LatticePropagator>& forward_props) = 0; Compute the 2-pt at the sink virtual Complex twoPtSink(const multi1d<LatticeColorMatrix>& u, const multi1d<ForwardProp_t>& forward_headers, const multi1d<LatticePropagator>& forward_props, int gamma_insertion) = 0; protected: Get deriv_length virtual int getDerivLength() const = 0; Apply first deriv (nabla) to the right onto source virtual LatticePropagator nabla(const LatticePropagator& forward_prop, const multi1d<LatticeColorMatrix>& u, int mu) const; Apply right "D_i" operator onto source virtual LatticePropagator D(const LatticePropagator& forward_prop, const multi1d<LatticeColorMatrix>& u, int mu) const; Apply right "B_i" operator onto source virtual LatticePropagator B(const LatticePropagator& forward_prop, const multi1d<LatticeColorMatrix>& u, int mu) const; Apply left and right "nabla_i" onto the source /*! $\nabla_\mu f(x) = U_\mu(x)f(x+\mu) - U_{-\mu}(x)f(x-\mu) $ \return $\f \nabla_\mu F(x,0) = U_\mu(x) F(x+\mu) - U_{x-\mu}^\dag(x-\mu) F(x-\mu)$

Definition in file deriv_meson_seqsrc_w.h.

Function Documentation

◆ momentumProject()

virtual Complex momentumProject ( const LatticeComplex &  corr_fn) const
virtual

Project onto the fixed sink-momentum and return the 2-pt at the sink.

◆ threePtB()

virtual LatticePropagator threePtB ( const LatticePropagator &  forward_prop,
const multi1d< LatticeColorMatrix > &  u,
int  mu 
) const
virtual

Apply left and right "D_i" operator onto source.

$D_i = s_{ijk}\nabla_j\nabla_k$

where $s_{ijk} = +1 \quad\forall i\ne j, j\ne k, i \ne k$

Returns
$\f D_\mu F(x,0 $ */ virtual multi1d<LatticePropagator> threePtDVector(const LatticePropagator& forward_prop, const multi1d<LatticeColorMatrix>& u) const; Apply left and right "B_i" operator onto source /*! $@_fakenlB_i = \epsilon_{ijk}\nabla_j\nabla_k\f$
$\fB_\mu F(z,0)

◆ threePtD()

virtual LatticePropagator threePtD ( const LatticePropagator &  forward_prop,
const multi1d< LatticeColorMatrix > &  u,
int  mu 
) const
virtual

Apply left and right "nabla_i" onto the source.

$\nabla_\mu f(x) = U_\mu(x)f(x+\mu) - U_{-\mu}(x)f(x-\mu)$

Returns
$\f \nabla_\mu F(x,0) = U_\mu(x) F(x+\mu) - U_{x-\mu}^\dag(x-\mu) F(x-\mu) $ */ virtual multi1d<LatticePropagator> threePtNablaVector(const LatticePropagator& forward_prop, const multi1d<LatticeColorMatrix>& u) const; Apply left and right "D_i" operator onto source /*! $@_fakenlD_i = s_{ijk}\nabla_j\nabla_k\f$

where $s_{ijk} = +1 \quad\forall i\ne j, j\ne k, i \ne k$

Returns
$\f D_\mu F(x,0

◆ threePtNabla()

virtual LatticePropagator threePtNabla ( const LatticePropagator &  forward_prop,
const multi1d< LatticeColorMatrix > &  u,
int  mu 
) const
virtual

◆ twoPtB()

virtual LatticeComplex twoPtB ( const LatticePropagator &  forward_prop,
const multi1d< LatticeColorMatrix > &  u,
int  mu,
int  g,
int  insertion 
) const
virtual

Apply left and right "D_i" operator onto source.

$D_i = s_{ijk}\nabla_j\nabla_k$

where $s_{ijk} = +1 \quad\forall i\ne j, j\ne k, i \ne k$

Returns
$\f D_\mu F(x,0 $ */ virtual LatticeComplex twoPtD(const LatticePropagator& forward_prop, const multi1d<LatticeColorMatrix>& u, int mu, int g, int gamma_insertion) const; Apply left and right "B_i" operator onto source /*! $@_fakenlB_i = \epsilon_{ijk}\nabla_j\nabla_k\f$
$\fB_\mu F(z,0)

◆ twoPtNabla()

virtual LatticeComplex twoPtNabla ( const LatticePropagator &  forward_prop,
const multi1d< LatticeColorMatrix > &  u,
int  mu,
int  g,
int  gamma_insertion 
) const
virtual

Apply left and right "B_i" operator onto source.

$B_i = \epsilon_{ijk}\nabla_j\nabla_k$

Returns
$\fB_\mu F(z,0) $ */ virtual multi1d<LatticePropagator> threePtBVector(const LatticePropagator& forward_prop, const multi1d<LatticeColorMatrix>& u) const; Apply left and right "nabla_i" onto the source /*! $\nabla_\mu f(x) = U_\mu(x)f(x+\mu) - U_{-\mu}(x)f(x-\mu) $ \return $\f \nabla_\mu F(x,0) = U_\mu(x) F(x+\mu) - U_{x-\mu}^\dag(x-\mu) F(x-\mu)$