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

cps::AlgSmear Class Reference
[Algorithms]

Base class for smearing a lattice. More...

#include <alg_smear.h>

Inherits cps::Alg.

Inherited by cps::AlgApeSmear, cps::AlgHypSmear, and cps::AlgKineticSmear.

List of all members.

Public Member Functions

 AlgSmear (Lattice &lat, CommonArg *ca, int su3_proj)
virtual ~AlgSmear ()
void run ()
 Perform the smearing.
void set_orthog (int i)
 Restrict the smearing to some hyperplanes.
int get_orthog () const
 Get the direction orthogonal to which smearing is done.
void set_tol (Float x)
 set tolerance for the SU(3) projection
Float get_tol () const
 get tolerance for the SU(3) projection
int ifSu3Proj () const

Protected Member Functions

virtual void smear_link (Matrix &link, int *pos, int mu)=0
 Smear a link.


Detailed Description

Base class for smearing a lattice.

Base class for smearing a lattice, with or without SU(3) projection of the smeared links (controlled with a flag to constructor).

Also allows for restricting smearing to hyperplanes orthogonal to a specified direction. On the base class level this will only exclude the links in that direction from being smeared; it is the responsibility of the derived classes to exclude links from being smeared with paths that move in that direction.

Definition at line 38 of file alg_smear.h.


Constructor & Destructor Documentation

cps::AlgSmear::AlgSmear Lattice lat,
CommonArg ca,
int  su3_proj
 

Parameters:
latt The Lattice object containg the gauge field with which smearing is done.
c_arg Container for generic parameters. .
su3_proj Whether or not to project the smeared link on to the SU(3) manifold.

Definition at line 109 of file alg_smear.C.

References cps::ERR, cps::GJP, cps::Error::Pointer(), cps::su3_proj(), and cps::GlobalJobParameter::VolNodeSites().

cps::AlgSmear::~AlgSmear  )  [virtual]
 

Definition at line 122 of file alg_smear.C.


Member Function Documentation

int cps::AlgSmear::get_orthog  )  const [inline]
 

Get the direction orthogonal to which smearing is done.

Returns:
The direction normal to the smeared hyperplanes.

Definition at line 70 of file alg_smear.h.

Referenced by cps::AlgHypSmear::run(), run(), cps::AlgKineticSmear::smear_link(), and cps::AlgApeSmear::smear_link().

Float cps::AlgSmear::get_tol  )  const [inline]
 

get tolerance for the SU(3) projection

Definition at line 76 of file alg_smear.h.

References cps::Float.

int cps::AlgSmear::ifSu3Proj  )  const [inline]
 

Definition at line 79 of file alg_smear.h.

Referenced by cps::AlgApeSmear::run().

void cps::AlgSmear::run  ) 
 

Perform the smearing.

Reimplemented in cps::AlgApeSmear, cps::AlgKineticSmear, cps::AlgHypSmear, and cps::AlgOlegSmear.

Definition at line 128 of file alg_smear.C.

References cps::Alg::AlgLattice(), cps::Lattice::ClearAllBufferedLink(), cps::Lattice::CopyGaugeField(), cps::Lattice::GaugeField(), get_orthog(), cps::Site::Index(), cps::Site::LoopsOverNode(), cps::Site::pos(), smear_link(), and cps::su3_proj().

void cps::AlgSmear::set_orthog int  i  )  [inline]
 

Restrict the smearing to some hyperplanes.

Smear only on hyperplanes orthogonal to this direction.

Parameters:
i The direction.

Definition at line 64 of file alg_smear.h.

Referenced by cps::AlgApeSmear::AlgApeSmear(), cps::AlgHypSmear::AlgHypSmear(), and cps::AlgKineticSmear::AlgKineticSmear().

void cps::AlgSmear::set_tol Float  x  )  [inline]
 

set tolerance for the SU(3) projection

Definition at line 73 of file alg_smear.h.

Referenced by cps::AlgApeSmear::AlgApeSmear(), and cps::AlgHypSmear::AlgHypSmear().

virtual void cps::AlgSmear::smear_link Matrix link,
int *  pos,
int  mu
[protected, pure virtual]
 

Smear a link.

Parameters:
link The link to smear.
pos The coordinates of the link.
mu The direction of the link.

Implemented in cps::AlgApeSmear, cps::AlgKineticSmear, and cps::AlgHypSmear.

Referenced by run().


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