no_link_smearing.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id: no_link_smearing.h,v 3.3 2008/11/04 18:43:57 edwards Exp $
00003 /*! \file
00004  *  \brief No link smearing
00005  */
00006 
00007 #ifndef __no_link_smearing_h__
00008 #define __no_link_smearing_h__
00009 
00010 #include "meas/smear/link_smearing.h"
00011 
00012 namespace Chroma
00013 {
00014 
00015   //! Name and registration
00016   namespace NoLinkSmearingEnv
00017   {
00018     bool registerAll();
00019 
00020     //! Return the name
00021     std::string getName();
00022   
00023     //! Params for No link smearing
00024     /*! @ingroup smear */
00025     struct Params
00026     {
00027       Params() {}
00028       Params(XMLReader& in, const std::string& path);
00029       void writeXML(XMLWriter& in, const std::string& path) const;
00030     };
00031 
00032 
00033     //! No link smearing
00034     /*! @ingroup smear
00035      *
00036      * No link smearing object
00037      */
00038     class LinkSmear : public LinkSmearing
00039     {
00040     public:
00041       //! Full constructor
00042       LinkSmear(const Params& p) : params(p) {}
00043 
00044       //! Smear the links
00045       void operator()(multi1d<LatticeColorMatrix>& u) const;
00046 
00047     private:
00048       //! Hide partial constructor
00049       LinkSmear() {}
00050 
00051     private:
00052       Params  params;   /*!< smearing params */
00053     };
00054 
00055   }  // end namespace
00056 
00057 
00058   //! Reader
00059   /*! @ingroup smear */
00060   void read(XMLReader& xml, const string& path, NoLinkSmearingEnv::Params& param);
00061 
00062   //! Writer
00063   /*! @ingroup smear */
00064   void write(XMLWriter& xml, const string& path, const NoLinkSmearingEnv::Params& param);
00065 
00066 }  // end namespace Chroma
00067 
00068 
00069 #endif

Generated on Fri Mar 19 04:33:43 2010 for CHROMA by  doxygen 1.4.7