CHROMA
Public Member Functions | Protected Member Functions | List of all members
Chroma::HadronSeqSource< T > Class Template Referenceabstract

Construct hadron sequential sources. More...

#include <hadron_seqsource.h>

Public Member Functions

virtual ~HadronSeqSource ()
 Virtual destructor to help with cleanup;. More...
 
virtual T operator() (const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< T > &forward_props)=0
 Construct the source. More...
 
virtual Complex tieBack (const multi1d< LatticeColorMatrix > &u, const SequentialProp_t &seqprop_header, const T &seqprop, int gamma_insertion)
 Evaluate the seqprop back at the source - this is the 2-pt at the sink. More...
 
virtual Complex twoPtSink (const multi1d< LatticeColorMatrix > &u, const multi1d< ForwardProp_t > &forward_headers, const multi1d< T > &forward_props, int gamma_insertion)=0
 Compute the 2-pt at the sink. More...
 
Complex tieBack (const multi1d< LatticeColorMatrix > &u, const SequentialProp_t &seqprop_header, const LatticePropagator &seqprop, int gamma_insertion)
 

Protected Member Functions

virtual T project (const LatticePropagator &src_prop_tmp) const
 Project onto a definite time-slice. More...
 
virtual LatticeComplex phases () const
 Construct phases. More...
 
virtual void setTSrce (const multi1d< ForwardProp_t > &forward_headers)
 Convenience function to yank the source location from the forward prop headers. More...
 
virtual multi1d< int > & getTSrce ()=0
 Set t_srce. More...
 
virtual const multi1d< int > & getTSrce () const =0
 Get t_srce. More...
 
virtual int getTSink () const =0
 Get t_sink. More...
 
virtual const multi1d< int > & getSinkMom () const =0
 Get sink_mom. More...
 
virtual int getDecayDir () const =0
 Get decay_dir. More...
 
LatticePropagator project (const LatticePropagator &src_prop_tmp) const
 
LatticeComplex phases () const
 
void setTSrce (const multi1d< ForwardProp_t > &forward_headers)
 

Detailed Description

template<typename T>
class Chroma::HadronSeqSource< T >

Construct hadron sequential sources.

Supports creation of hadron sequential sources

Definition at line 20 of file hadron_seqsource.h.

Constructor & Destructor Documentation

◆ ~HadronSeqSource()

template<typename T >
virtual Chroma::HadronSeqSource< T >::~HadronSeqSource ( )
inlinevirtual

Virtual destructor to help with cleanup;.

Definition at line 24 of file hadron_seqsource.h.

Member Function Documentation

◆ getDecayDir()

template<typename T >
virtual int Chroma::HadronSeqSource< T >::getDecayDir ( ) const
protectedpure virtual

◆ getSinkMom()

template<typename T >
virtual const multi1d<int>& Chroma::HadronSeqSource< T >::getSinkMom ( ) const
protectedpure virtual

◆ getTSink()

template<typename T >
virtual int Chroma::HadronSeqSource< T >::getTSink ( ) const
protectedpure virtual

◆ getTSrce() [1/2]

template<typename T >
virtual const multi1d<int>& Chroma::HadronSeqSource< T >::getTSrce ( ) const
protectedpure virtual

◆ getTSrce() [2/2]

template<typename T >
virtual multi1d<int>& Chroma::HadronSeqSource< T >::getTSrce ( )
protectedpure virtual

◆ operator()()

template<typename T >
virtual T Chroma::HadronSeqSource< T >::operator() ( const multi1d< LatticeColorMatrix > &  u,
const multi1d< ForwardProp_t > &  forward_headers,
const multi1d< T > &  forward_props 
)
pure virtual

◆ phases() [1/2]

LatticeComplex Chroma::HadronSeqSource< LatticePropagator >::phases ( ) const
protected

Definition at line 104 of file hadron_seqsource.cc.

References Chroma::singlePhase().

◆ phases() [2/2]

template<typename T >
virtual LatticeComplex Chroma::HadronSeqSource< T >::phases ( ) const
protectedvirtual

Construct phases.

◆ project() [1/2]

LatticePropagator Chroma::HadronSeqSource< LatticePropagator >::project ( const LatticePropagator &  src_prop_tmp) const
protected

◆ project() [2/2]

template<typename T >
virtual T Chroma::HadronSeqSource< T >::project ( const LatticePropagator &  src_prop_tmp) const
protectedvirtual

Project onto a definite time-slice.

◆ setTSrce() [1/2]

void Chroma::HadronSeqSource< LatticePropagator >::setTSrce ( const multi1d< ForwardProp_t > &  forward_headers)
protected

◆ setTSrce() [2/2]

template<typename T >
virtual void Chroma::HadronSeqSource< T >::setTSrce ( const multi1d< ForwardProp_t > &  forward_headers)
protectedvirtual

Convenience function to yank the source location from the forward prop headers.

◆ tieBack() [1/2]

Complex Chroma::HadronSeqSource< LatticePropagator >::tieBack ( const multi1d< LatticeColorMatrix > &  u,
const SequentialProp_t seqprop_header,
const LatticePropagator &  seqprop,
int  gamma_insertion 
)

◆ tieBack() [2/2]

template<typename T >
virtual Complex Chroma::HadronSeqSource< T >::tieBack ( const multi1d< LatticeColorMatrix > &  u,
const SequentialProp_t seqprop_header,
const T seqprop,
int  gamma_insertion 
)
virtual

Evaluate the seqprop back at the source - this is the 2-pt at the sink.

For the case of a meson, we have evaluated as the sequential source

H(y, 0; tx, p) = \sum exp{ip.x} U(y,x) \gamma_5\Gamma_f^\dag\gamma_5 D(x,0)

H^\dag(y, 0; tx, p) = \sum_x exp{-ip.x} \gamma_5 D(0,x) \Gamma_f U(x,y) \gamma_5

Thus we can see that

Tr[ \gamma_5 H^\dag(0,0; tx, p)\gamma_5 \Gamma_i] = \sum_x exp{-ip.x} Tr[ D(0,x)\Gamma_f U(x,0) \Gamma_i ]

which is the desired meson correlator at momentum p and timslice tx

◆ twoPtSink()

template<typename T >
virtual Complex Chroma::HadronSeqSource< T >::twoPtSink ( const multi1d< LatticeColorMatrix > &  u,
const multi1d< ForwardProp_t > &  forward_headers,
const multi1d< T > &  forward_props,
int  gamma_insertion 
)
pure virtual

The documentation for this class was generated from the following file: