CHROMA
Public Member Functions | Private Member Functions | Private Attributes | List of all members

Fourier transform phase factor support. More...

#include <sftmom.h>

Public Member Functions

 SftMom (int mom2_max, bool avg_equiv_mom_=false, int j_decay=-1)
 Constructor about origin. More...
 
 SftMom (const multi2d< int > &moms, int j_decay=-1)
 Constructor about origin, with a list of momenta. More...
 
 SftMom (int mom2_max, multi1d< int > origin_offset_, bool avg_equiv_mom_=false, int j_decay=-1)
 Construct around some fixed origin_offset. More...
 
 SftMom (int mom2_max, multi1d< int > origin_offset_, multi1d< int > mom_offset_, bool avg_equiv_mom_=false, int j_decay=-1)
 Construct around some fixed origin_offset and mom_offset. More...
 
 SftMom (const SftMomParams_t &p)
 General constructor. More...
 
const Set & getSet () const
 The set to be used in sumMulti. More...
 
int numMom () const
 Number of momenta. More...
 
int numSubsets () const
 Number of subsets - length in decay direction. More...
 
int numSites () const
 Number of sites in each subset. More...
 
int getDir () const
 Decay direction. More...
 
bool getAvg () const
 Are momenta averaged? More...
 
multi1d< int > getMomOffset () const
 Momentum offset. More...
 
multi1d< int > numToMom (int mom_num) const
 Convert momenta id to actual array of momenta. More...
 
int momToNum (const multi1d< int > &mom_in) const
 Convert array of momenta to momenta id. More...
 
multi1d< int > canonicalOrder (const multi1d< int > &mom) const
 Canonically order an array of momenta. More...
 
const LatticeComplex & operator[] (int mom_num) const
 Return the phase for this particular momenta id. More...
 
int multiplicity (int mom_num) const
 Return the the multiplicity for this momenta id. More...
 
multi2d< DComplex > sft (const LatticeComplex &cf) const
 Do a sumMulti(cf*phases,getSet()) More...
 
multi2d< DComplex > sft (const LatticeComplex &cf, int subset_color) const
 Do a sum(cf*phases,getSet()[my_subset]) More...
 
multi2d< DComplex > sft (const LatticeReal &cf) const
 Do a sumMulti(cf*phases,getSet()) More...
 
multi2d< DComplex > sft (const LatticeReal &cf, int subset_color) const
 Do a sumMulti(cf*phases,getSet()[my_subset]) More...
 

Private Member Functions

 SftMom ()
 
void init (int mom2_max, multi1d< int > origin_offset, multi1d< int > mom_offset, bool avg_mom_=false, int j_decay=-1)
 

Private Attributes

multi2d< int > mom_list
 
bool avg_equiv_mom
 
int decay_dir
 
int num_mom
 
multi1d< int > origin_offset
 
multi1d< int > mom_offset
 
multi1d< LatticeComplex > phases
 
multi1d< int > mom_degen
 
Set sft_set
 

Detailed Description

Fourier transform phase factor support.

Definition at line 34 of file sftmom.h.

Constructor & Destructor Documentation

◆ SftMom() [1/6]

Chroma::SftMom::SftMom ( int  mom2_max,
bool  avg_equiv_mom_ = false,
int  j_decay = -1 
)

Constructor about origin.

Definition at line 161 of file sftmom.cc.

References init(), j_decay, and Nd.

◆ SftMom() [2/6]

Chroma::SftMom::SftMom ( const multi2d< int > &  moms,
int  j_decay = -1 
)

Constructor about origin, with a list of momenta.

Definition at line 178 of file sftmom.cc.

References decay_dir, Chroma::i, init(), j_decay, m, mom_list, Nd, num_mom, phases, and Chroma::singlePhase().

◆ SftMom() [3/6]

Chroma::SftMom::SftMom ( int  mom2_max,
multi1d< int >  origin_offset_,
bool  avg_equiv_mom_ = false,
int  j_decay = -1 
)

Construct around some fixed origin_offset.

Definition at line 203 of file sftmom.cc.

References init(), j_decay, and Nd.

◆ SftMom() [4/6]

Chroma::SftMom::SftMom ( int  mom2_max,
multi1d< int >  origin_offset_,
multi1d< int >  mom_offset_,
bool  avg_equiv_mom_ = false,
int  j_decay = -1 
)
inline

Construct around some fixed origin_offset and mom_offset.

Definition at line 48 of file sftmom.h.

References init(), and j_decay.

◆ SftMom() [5/6]

Chroma::SftMom::SftMom ( const SftMomParams_t p)
inline

General constructor.

Definition at line 53 of file sftmom.h.

References init(), and Chroma::p.

◆ SftMom() [6/6]

Chroma::SftMom::SftMom ( )
inlineprivate

Definition at line 116 of file sftmom.h.

Member Function Documentation

◆ canonicalOrder()

multi1d< int > Chroma::SftMom::canonicalOrder ( const multi1d< int > &  mom) const

Canonically order an array of momenta.

Returns
abs(mom[0]) >= abs(mom[1]) >= ... >= abs(mom[mu]) >= ... >= 0

Definition at line 464 of file sftmom.cc.

References mu, and nu.

Referenced by init(), momToNum(), and Chroma::MomWallQuarkSourceConstEnv::SourceConst< T >::operator()().

◆ getAvg()

bool Chroma::SftMom::getAvg ( ) const
inline

Are momenta averaged?

Definition at line 72 of file sftmom.h.

References avg_equiv_mom.

◆ getDir()

int Chroma::SftMom::getDir ( ) const
inline

◆ getMomOffset()

multi1d<int> Chroma::SftMom::getMomOffset ( ) const
inline

Momentum offset.

Definition at line 75 of file sftmom.h.

References mom_offset.

◆ getSet()

const Set& Chroma::SftMom::getSet ( ) const
inline

The set to be used in sumMulti.

Definition at line 57 of file sftmom.h.

References sft_set.

Referenced by Chroma::barcomp(), Chroma::barcompDiquarkDense(), Chroma::barcompDiquarkSparse(), Chroma::barcompSparse(), Chroma::check_dwf_ward_identity(), Chroma::compute_qqbar(), Chroma::InlineStochGroupMesonEnv::contractOp(), Chroma::curcor2(), Chroma::dwf_quarkProp4(), Chroma::InlineGlueDiagMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineGlueMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineGlueballOpsEnv::InlineMeas::func(), Chroma::InlineAnnihPropMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineBarSpecEnv::InlineMeas::func(), Chroma::InlineBaryonMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineBuildingBlocks::func(), Chroma::InlineCreateColorVecsEnv::InlineMeas::func(), Chroma::InlineGenPropMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineGenPropMatElemDAColorVecEnv::InlineMeas::func(), Chroma::InlineGenPropMatElemPtColorVecEnv::InlineMeas::func(), Chroma::InlineHadSpec::func(), Chroma::InlineHeavyLightCont::func(), Chroma::InlineHeavyHadSpec::func(), Chroma::InlineLaplaceEigsEnv::InlineMeas::func(), Chroma::InlineMakeSourceFerm::func(), Chroma::InlineMakeSource::func(), Chroma::InlineMesonMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineMesonSpec::func(), Chroma::InlineMres::func(), Chroma::InlineMultiPropagator::func(), Chroma::InlineMultipole::func(), Chroma::InlineNoisyBuildingBlocks::func(), Chroma::InlineNprVertex::func(), Chroma::InlineNpr::func(), Chroma::InlineProp3ptEnv::InlineMeas::func(), Chroma::InlinePropAndMatElemColorVecEnv::InlineMeas::func(), Chroma::InlinePropColorVecEnv::InlineMeas::func(), Chroma::InlinePropMatElemColorVecEnv::InlineMeas::func(), Chroma::InlinePropMatElemLowMemoryColorVecEnv::InlineMeas::func(), Chroma::InlinePropMatElemPtColorVecEnv::InlineMeas::func(), Chroma::InlinePropagatorFerm::func(), Chroma::InlinePropagator::func(), Chroma::InlineQQQNucNuc::func(), Chroma::InlineSeqPropTestEnv::InlineMeas::func(), Chroma::InlineSpectrum::func(), Chroma::InlineSpectrumQll::func(), Chroma::InlineStagToWils::func(), Chroma::InlineStaticLightSpec::func(), Chroma::InlineStaticPropColorVecEnv::InlineMeas::func(), Chroma::InlineStochBaryon::func(), Chroma::InlineStochGroupBaryonEnv::InlineMeas::func(), Chroma::InlineStochHadronEnv::InlineMeas::func(), Chroma::InlineStochMeson::func(), Chroma::InlineUnsmearedHadronNodeDistillationEnv::InlineMeas::func(), Chroma::InlineStaggeredMakeSourceEnv::InlineMeas::func(), Chroma::InlineStaggeredPropagatorEnv::InlineMeas::func(), Chroma::InlineUSQCDReadDDPairsProp::func(), Chroma::gluecor(), Chroma::DilutionQuarkSourceConstEnv::ConstDilutionScheme::init(), main(), Chroma::mescomp(), Chroma::multipole(), Chroma::nef_quarkProp_a(), Chroma::DiluteZNEigVecQuarkSourceConstEnv::SourceConst< T >::operator()(), Chroma::StochCondContEnv::StochCondCont::operator()(), Chroma::InlineBar3ptfn::operator()(), Chroma::InlineDiquarkEnv::InlineMeas::operator()(), Chroma::InlineQpropQIO::operator()(), Chroma::InlineQQbar::operator()(), Chroma::InlineQQQDiquarkEnv::InlineMeas::operator()(), Chroma::InlineQQQEnv::InlineMeas::operator()(), Chroma::InlineSeqSourceEnv::InlineMeas::operator()(), Chroma::InlineSinkSmearEnv::InlineMeas::operator()(), Chroma::InlineStaggeredSinkSmearEnv::InlineMeas::operator()(), Chroma::WallQuarkSinkSmearingEnv::SinkSmear< T >::operator()(), Chroma::polycor(), Chroma::readKYUQprop(), saveComponent(), saveComponents(), Chroma::SFCurrentZA(), Chroma::SFCurrentZV(), Chroma::SFKprop(), Chroma::SFpcac(), Chroma::vectorSmear(), and Chroma::wall_qprop().

◆ init()

void Chroma::SftMom::init ( int  mom2_max,
multi1d< int >  origin_offset,
multi1d< int >  mom_offset,
bool  avg_mom_ = false,
int  j_decay = -1 
)
private

◆ momToNum()

int Chroma::SftMom::momToNum ( const multi1d< int > &  mom_in) const

Convert array of momenta to momenta id.

Returns
id in [0,numMom()-1] or -1 if not in list

Definition at line 496 of file sftmom.cc.

References avg_equiv_mom, canonicalOrder(), mom_list, mu, and num_mom.

Referenced by Chroma::BkwdFrwdTr(), and Chroma::InlineUnsmearedHadronNodeDistillationEnv::InlineMeas::func().

◆ multiplicity()

int Chroma::SftMom::multiplicity ( int  mom_num) const
inline

Return the the multiplicity for this momenta id.

Only nonzero if momentum averaging is turned on

Definition at line 94 of file sftmom.h.

References mom_degen.

Referenced by Chroma::InlineGenPropMatElemColorVecEnv::InlineMeas::func(), and Chroma::InlineGenPropMatElemPtColorVecEnv::InlineMeas::func().

◆ numMom()

int Chroma::SftMom::numMom ( ) const
inline

◆ numSites()

int Chroma::SftMom::numSites ( ) const

Number of sites in each subset.

Definition at line 219 of file sftmom.cc.

References decay_dir, m, and Nd.

◆ numSubsets()

int Chroma::SftMom::numSubsets ( ) const
inline

Number of subsets - length in decay direction.

Definition at line 63 of file sftmom.h.

References sft_set.

Referenced by Chroma::barcomp(), Chroma::barcompDiquarkDense(), Chroma::barcompDiquarkSparse(), Chroma::barcompSparse(), Chroma::barhqlq(), Chroma::baryon(), Chroma::BkwdFrwdTr(), Chroma::compute_qqq(), Chroma::curcor2(), Chroma::dwf_quarkProp4(), Chroma::FormFac(), Chroma::InlineGlueDiagMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineGlueMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineGlueballOpsEnv::InlineMeas::func(), Chroma::InlineBaryonMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineCreateColorVecsEnv::InlineMeas::func(), Chroma::InlineGenPropMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineGenPropMatElemDAColorVecEnv::InlineMeas::func(), Chroma::InlineGenPropMatElemPtColorVecEnv::InlineMeas::func(), Chroma::InlineLaplaceEigsEnv::InlineMeas::func(), Chroma::InlineMesonMatElemColorVecEnv::InlineMeas::func(), Chroma::InlineMesonSpec::func(), Chroma::InlinePropAndMatElemColorVecEnv::InlineMeas::func(), Chroma::InlinePropDistillationStochEnv::InlineMeas::func(), Chroma::InlinePropMatElemColorVecEnv::InlineMeas::func(), Chroma::InlinePropMatElemLowMemoryColorVecEnv::InlineMeas::func(), Chroma::InlinePropMatElemPtColorVecEnv::InlineMeas::func(), Chroma::InlineQQQNucNuc::func(), Chroma::InlineStaticPropColorVecEnv::InlineMeas::func(), Chroma::InlineStochBaryon::func(), Chroma::InlineStochGroupBaryonEnv::InlineMeas::func(), Chroma::InlineStochGroupMesonEnv::InlineMeas::func(), Chroma::InlineStochHadronEnv::InlineMeas::func(), Chroma::InlineStochMeson::func(), Chroma::InlineUnsmearedHadronNodeDistillationEnv::InlineMeas::func(), Chroma::gluecor(), Chroma::hybmeson(), main(), Chroma::mescomp(), Chroma::mesons(), Chroma::mesons2(), Chroma::multipole(), Chroma::nef_quarkProp_a(), Chroma::WallQuarkSinkSmearingEnv::SinkSmear< T >::operator()(), Chroma::polycor(), Chroma::print_disp(), Chroma::Hadron2PtCorr::project(), Chroma::Qlbar(), Chroma::QlbarBACK(), Chroma::Qll(), Chroma::QllQllPOT(), Chroma::QlQl(), Chroma::QlQlPOT(), Chroma::MesonSpec2PtEnv::serializeSFT(), Chroma::SFcorr(), Chroma::SFCurrentZV(), Chroma::SFpcac(), Chroma::static_light_su3(), Chroma::vectorSmear(), Chroma::wall_qprop(), Chroma::wallFormFacSft(), Chroma::wallPionFormFac(), Chroma::wallRhoFormFac(), Chroma::wallRhoPiFormFac(), and Chroma::write_qqq().

◆ numToMom()

multi1d<int> Chroma::SftMom::numToMom ( int  mom_num) const
inline

◆ operator[]()

const LatticeComplex& Chroma::SftMom::operator[] ( int  mom_num) const
inline

Return the phase for this particular momenta id.

Definition at line 89 of file sftmom.h.

References phases.

◆ sft() [1/4]

multi2d< DComplex > Chroma::SftMom::sft ( const LatticeComplex &  cf) const

◆ sft() [2/4]

multi2d< DComplex > Chroma::SftMom::sft ( const LatticeComplex &  cf,
int  subset_color 
) const

Do a sum(cf*phases,getSet()[my_subset])

Definition at line 535 of file sftmom.cc.

References num_mom, phases, sft_set, sum, and Chroma::zero.

◆ sft() [3/4]

multi2d< DComplex > Chroma::SftMom::sft ( const LatticeReal &  cf) const

Do a sumMulti(cf*phases,getSet())

Definition at line 550 of file sftmom.cc.

References num_mom, phases, and sft_set.

◆ sft() [4/4]

multi2d< DComplex > Chroma::SftMom::sft ( const LatticeReal &  cf,
int  subset_color 
) const

Do a sumMulti(cf*phases,getSet()[my_subset])

Definition at line 561 of file sftmom.cc.

References num_mom, phases, sft_set, sum, and Chroma::zero.

Member Data Documentation

◆ avg_equiv_mom

bool Chroma::SftMom::avg_equiv_mom
private

Definition at line 122 of file sftmom.h.

Referenced by getAvg(), init(), and momToNum().

◆ decay_dir

int Chroma::SftMom::decay_dir
private

Definition at line 123 of file sftmom.h.

Referenced by getDir(), init(), numSites(), and SftMom().

◆ mom_degen

multi1d<int> Chroma::SftMom::mom_degen
private

Definition at line 128 of file sftmom.h.

Referenced by init(), and multiplicity().

◆ mom_list

multi2d<int> Chroma::SftMom::mom_list
private

Definition at line 121 of file sftmom.h.

Referenced by init(), momToNum(), numToMom(), and SftMom().

◆ mom_offset

multi1d<int> Chroma::SftMom::mom_offset
private

Definition at line 126 of file sftmom.h.

Referenced by getMomOffset(), and init().

◆ num_mom

int Chroma::SftMom::num_mom
private

Definition at line 124 of file sftmom.h.

Referenced by init(), momToNum(), numMom(), sft(), and SftMom().

◆ origin_offset

multi1d<int> Chroma::SftMom::origin_offset
private

Definition at line 125 of file sftmom.h.

Referenced by init().

◆ phases

multi1d<LatticeComplex> Chroma::SftMom::phases
private

Definition at line 127 of file sftmom.h.

Referenced by init(), operator[](), sft(), and SftMom().

◆ sft_set

Set Chroma::SftMom::sft_set
private

Definition at line 129 of file sftmom.h.

Referenced by getSet(), init(), numSubsets(), and sft().


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