Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

cps::Site Class Reference

#include <site.h>

List of all members.

Public Member Functions

 Site ()
 Site (int site)
 Site (int x0, int x1, int x2, int x3)
 ~Site ()
int Index () const
int X () const
int Y () const
int Z () const
int T () const
int physX () const
int physY () const
int physZ () const
int physT () const
int * pos ()
int Coor (int d) const
int physCoor (int d) const
int Size (int d) const
int Vol (int d) const
int nodeBc (const int mu) const
int plusIndex (int mu) const
int minusIndex (int mu) const
void Begin ()
void Begin (int mu)
bool End () const
bool End (int mu) const
bool resetEnd (int mu)
void nextSite ()
void nextSite (int mu)
void nextSiteExcept (int mu)
bool LoopsOverNode ()


Detailed Description

Class for looping over a single node. Also provides conversion between local and global coordinates.

It keeps track of the x,y,z, and t positions separately (as oppposed to just the index). If you really need high performance, and whatever you're doing at each site is very quick, then you can probably get much better performance by hard-coding the loop.

Definition at line 16 of file site.h.


Constructor & Destructor Documentation

cps::Site::Site  ) 
 

Definition at line 25 of file site.C.

References cps::GJP, cps::GlobalJobParameter::TnodeSites(), cps::GlobalJobParameter::XnodeSites(), cps::GlobalJobParameter::YnodeSites(), and cps::GlobalJobParameter::ZnodeSites().

cps::Site::Site int  site  ) 
 

Definition at line 38 of file site.C.

References cps::GJP, cps::GlobalJobParameter::TnodeSites(), cps::GlobalJobParameter::XnodeSites(), cps::GlobalJobParameter::YnodeSites(), and cps::GlobalJobParameter::ZnodeSites().

cps::Site::Site int  x0,
int  x1,
int  x2,
int  x3
 

Definition at line 51 of file site.C.

References cps::GJP, cps::GlobalJobParameter::TnodeSites(), cps::GlobalJobParameter::XnodeSites(), cps::GlobalJobParameter::YnodeSites(), and cps::GlobalJobParameter::ZnodeSites().

cps::Site::~Site  )  [inline]
 

Definition at line 71 of file site.h.


Member Function Documentation

void cps::Site::Begin int  mu  )  [inline]
 

Definition at line 130 of file site.h.

void cps::Site::Begin  )  [inline]
 

Definition at line 124 of file site.h.

Referenced by cps::Nuc2pt::calcMomNucleon(), cps::Nuc2pt::calcNucleon(), cps::Nuc2pt::calcWallMomNucleon(), cps::QPropW::GaussSmearSinkProp(), cps::Nuc3ptGammaR::InsertOp(), cps::Nuc3ptCons::InsertOp(), cps::Nuc3ptStru::InsertOp(), cps::Nuc3ptGamma::InsertOp(), LoopsOverNode(), cps::FermionVectorTp::Norm(), cps::FermionVectorTp::operator *=(), cps::QPropWSeqProtDSrc::QPropWSeqProtDSrc(), cps::QPropWSeqProtUSrc::QPropWSeqProtUSrc(), cps::QPropW::RestoreOrgProp(), cps::QPropW::RestoreQProp(), cps::FermionVectorTp::SetMomSource(), cps::QPropWSeqProtUSrc::SetSource(), cps::QPropWSeqProtDSrc::SetSource(), and cps::QPropWSeqMesSrc::SetSource().

int cps::Site::Coor int  d  )  const [inline]
 

Definition at line 96 of file site.h.

Referenced by cps::Derivative::CalcEndPoints().

bool cps::Site::End int  mu  )  const [inline]
 

Definition at line 137 of file site.h.

bool cps::Site::End  )  const [inline]
 

Definition at line 136 of file site.h.

Referenced by cps::Nuc2pt::calcMomNucleon(), cps::Nuc2pt::calcNucleon(), cps::Nuc2pt::calcWallMomNucleon(), cps::QPropW::GaussSmearSinkProp(), cps::Nuc3ptGammaR::InsertOp(), cps::Nuc3ptCons::InsertOp(), cps::Nuc3ptStru::InsertOp(), cps::Nuc3ptGamma::InsertOp(), cps::FermionVectorTp::Norm(), cps::FermionVectorTp::operator *=(), cps::QPropWSeqProtDSrc::QPropWSeqProtDSrc(), cps::QPropWSeqProtUSrc::QPropWSeqProtUSrc(), cps::QPropW::RestoreOrgProp(), cps::QPropW::RestoreQProp(), cps::FermionVectorTp::SetMomSource(), cps::QPropWSeqProtUSrc::SetSource(), cps::QPropWSeqProtDSrc::SetSource(), and cps::QPropWSeqMesSrc::SetSource().

int cps::Site::Index  )  const [inline]
 

Definition at line 78 of file site.h.

Referenced by cps::Nuc2pt::calcMomNucleon(), cps::Nuc2pt::calcNucleon(), cps::Nuc2pt::calcWallMomNucleon(), cps::QPropW::GaussSmearSinkProp(), cps::Nuc3ptGammaR::InsertOp(), cps::Nuc3ptCons::InsertOp(), cps::Nuc3ptStru::InsertOp(), cps::Nuc3ptGamma::InsertOp(), cps::FermionVectorTp::LandauGaugeFixSink(), cps::FermionVectorTp::Norm(), cps::FermionVectorTp::operator *=(), cps::QPropWSeqProtDSrc::QPropWSeqProtDSrc(), cps::QPropWSeqProtUSrc::QPropWSeqProtUSrc(), cps::QPropW::RestoreOrgProp(), cps::QPropW::RestoreQProp(), cps::AlgSmear2::run(), cps::AlgOlegSmear::run(), cps::AlgSmear::run(), cps::FermionVectorTp::SetLandauGaugeMomentaSource(), cps::FermionVectorTp::SetMomSource(), cps::QPropWSeqProtUSrc::SetSource(), cps::QPropWSeqProtDSrc::SetSource(), and cps::QPropWSeqMesSrc::SetSource().

bool cps::Site::LoopsOverNode  ) 
 

another way of looping over a node syntax:

site x; while ( x.LoopsOverNode() ) { do stuff }

the site index will be zeroed before the start of the loop and be zero after the loop finishes

Definition at line 138 of file site.C.

References Begin().

Referenced by cps::FermionVectorTp::LandauGaugeFixSink(), cps::AlgTcharge::run(), cps::AlgSmear2::run(), cps::AlgOlegSmear::run(), cps::AlgSmear::run(), and cps::FermionVectorTp::SetLandauGaugeMomentaSource().

int cps::Site::minusIndex int  mu  )  const
 

Returns the index of the neighbor in the minus mu direction

Definition at line 76 of file site.C.

void cps::Site::nextSite int  mu  )  [inline]
 

Definition at line 151 of file site.h.

void cps::Site::nextSite  ) 
 

Definition at line 86 of file site.C.

Referenced by cps::Nuc2pt::calcMomNucleon(), cps::Nuc2pt::calcNucleon(), cps::Nuc2pt::calcWallMomNucleon(), cps::QPropW::GaussSmearSinkProp(), cps::Nuc3ptGammaR::InsertOp(), cps::Nuc3ptCons::InsertOp(), cps::Nuc3ptStru::InsertOp(), cps::Nuc3ptGamma::InsertOp(), cps::FermionVectorTp::Norm(), cps::FermionVectorTp::operator *=(), cps::QPropWSeqProtDSrc::QPropWSeqProtDSrc(), cps::QPropWSeqProtUSrc::QPropWSeqProtUSrc(), cps::QPropW::RestoreOrgProp(), cps::QPropW::RestoreQProp(), cps::FermionVectorTp::SetMomSource(), cps::QPropWSeqProtUSrc::SetSource(), cps::QPropWSeqProtDSrc::SetSource(), and cps::QPropWSeqMesSrc::SetSource().

void cps::Site::nextSiteExcept int  mu  ) 
 

Definition at line 103 of file site.C.

int cps::Site::nodeBc const int  mu  )  const [inline]
 

Definition at line 106 of file site.h.

References cps::GJP, and cps::GlobalJobParameter::NodeBc().

int cps::Site::physCoor int  d  )  const [inline]
 

Definition at line 97 of file site.h.

Referenced by cps::ThreeMom::Fact(), and cps::Nuc3ptGammaR::InsertOp().

int cps::Site::physT  )  const [inline]
 

Definition at line 88 of file site.h.

Referenced by cps::Nuc2pt::calcMomNucleon(), cps::Nuc2pt::calcNucleon(), cps::Nuc2pt::calcWallMomNucleon(), cps::Nuc3ptGammaR::InsertOp(), cps::Nuc3ptStru::InsertOp(), cps::Nuc3ptGamma::InsertOp(), cps::FermionVectorTp::SetLandauGaugeMomentaSource(), cps::FermionVectorTp::SetMomSource(), cps::QPropWSeqProtUSrc::SetSource(), cps::QPropWSeqProtDSrc::SetSource(), and cps::QPropWSeqMesSrc::SetSource().

int cps::Site::physX  )  const [inline]
 

Definition at line 85 of file site.h.

Referenced by cps::FermionVectorTp::SetLandauGaugeMomentaSource().

int cps::Site::physY  )  const [inline]
 

Definition at line 86 of file site.h.

Referenced by cps::FermionVectorTp::SetLandauGaugeMomentaSource().

int cps::Site::physZ  )  const [inline]
 

Definition at line 87 of file site.h.

Referenced by cps::FermionVectorTp::SetLandauGaugeMomentaSource().

int cps::Site::plusIndex int  mu  )  const
 

Returns the index of the neighbor in the plus mu direction

Definition at line 67 of file site.C.

int* cps::Site::pos  )  [inline]
 

ugly, but useful for interfacing with the link buffer routines

Definition at line 94 of file site.h.

Referenced by cps::AlgTcharge::run(), cps::AlgSmear2::run(), and cps::AlgSmear::run().

bool cps::Site::resetEnd int  mu  )  [inline]
 

Definition at line 139 of file site.h.

int cps::Site::Size int  d  )  const [inline]
 

Definition at line 103 of file site.h.

int cps::Site::T  )  const [inline]
 

Definition at line 83 of file site.h.

int cps::Site::Vol int  d  )  const [inline]
 

Definition at line 104 of file site.h.

int cps::Site::X  )  const [inline]
 

Definition at line 80 of file site.h.

int cps::Site::Y  )  const [inline]
 

Definition at line 81 of file site.h.

int cps::Site::Z  )  const [inline]
 

Definition at line 82 of file site.h.


The documentation for this class was generated from the following files:
Generated on Sat Oct 10 14:12:15 2009 for Columbia Physics System by  doxygen 1.3.9.1