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

cps::AlgSmear2 Class Reference
[Algorithms]

Base class for smearing a lattice. More...

#include <alg_smear2.h>

Inherits cps::Alg.

Inherited by cps::AlgApeSmear2.

List of all members.

Public Member Functions

 AlgSmear2 (Lattice &lat, CommonArg *ca, int su3_proj)
virtual ~AlgSmear2 ()
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

Protected Member Functions

virtual void smear_link2 (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 36 of file alg_smear2.h.


Constructor & Destructor Documentation

cps::AlgSmear2::AlgSmear2 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_smear2.C.

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

cps::AlgSmear2::~AlgSmear2  )  [virtual]
 

Definition at line 122 of file alg_smear2.C.


Member Function Documentation

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

Get the direction orthogonal to which smearing is done.

Returns:
The direction normal to the smeared hyperplanes.

Definition at line 68 of file alg_smear2.h.

Referenced by run(), and cps::AlgApeSmear2::smear_link2().

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

get tolerance for the SU(3) projection

Definition at line 74 of file alg_smear2.h.

References cps::Float.

void cps::AlgSmear2::run  ) 
 

Perform the smearing.

Reimplemented in cps::AlgApeSmear2.

Definition at line 128 of file alg_smear2.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_link2(), and cps::su3_proj().

void cps::AlgSmear2::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 62 of file alg_smear2.h.

Referenced by cps::AlgApeSmear2::AlgApeSmear2().

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

set tolerance for the SU(3) projection

Definition at line 71 of file alg_smear2.h.

Referenced by cps::AlgApeSmear2::AlgApeSmear2().

virtual void cps::AlgSmear2::smear_link2 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::AlgApeSmear2.

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