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

alg_smear2.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------
00009 //------------------------------------------------------------------
00010 #ifndef _ALG_SMEAR_CD_
00011 #define _ALG_SMEAR_CD_
00012 #include <config.h>
00013 #include <alg/alg_base.h>
00014 #include <alg/ape_smear_arg.h>
00015 //#include <alg/kinetic_smear_arg.h>
00016 //#include <alg/hyp_smear_arg.h>
00017 
00018 
00019 CPS_START_NAMESPACE
00020 
00022 
00036 class AlgSmear2:public Alg
00037 {
00038 private:
00039   char *cname;
00040 
00041   int bool_su3_proj;
00042   Float tolerance  ;
00043   int orthog       ;
00044   Matrix* lat_back ;
00045     
00046 public:
00047   
00048   AlgSmear2( Lattice&   lat,
00049             CommonArg* ca ,
00050             int su3_proj );
00051   
00052   virtual ~AlgSmear2();
00053   
00055   void run();
00056   
00058 
00062   void set_orthog( int i ) { orthog=i; }
00063   
00065 
00068   int  get_orthog() const  { return orthog; }
00069 
00071   void set_tol( Float x ) { tolerance = x; }
00072   
00074   Float get_tol() const { return tolerance; }
00075 
00076 protected:
00077   
00079 
00084   virtual void smear_link2( Matrix& link, 
00085                            int*    pos,
00086                            int      mu )=0;
00087   
00088   
00089 };
00090 
00092 void three_staple2(Lattice& latt, Matrix& link, int *pos, int u, int orth);
00093 
00095 //void five_staple  (Lattice& latt, Matrix& link, int *pos, int u, int orth);
00096 
00098 //void seven_staple (Lattice& latt, Matrix& link, int *pos, int u, int orth);
00099 
00101 //void lepage_staple(Lattice& latt, Matrix& link, int *pos, int u, int orth);
00102   
00104 int su3_proj( Matrix& x , Float tolerance );
00105 
00106 
00108 
00116 class AlgApeSmear2:public AlgSmear2
00117 {
00118 private:
00119   
00121   Float c;
00122   char *cname;
00123   
00124 public:
00125 
00132   AlgApeSmear2(Lattice&     lat,
00133               CommonArg*   ca ,
00134               ApeSmearArg* asa );
00135   
00136   ~AlgApeSmear2()
00137   {;}
00138   
00143   void run();
00144 
00145   void set_coef( Float x ) { c = x ; }
00146 
00147 protected:
00148   
00149   void smear_link2( Matrix& mat,
00150                    int*    pos,
00151                    int      mu );
00152 };
00153 
00154 
00155 CPS_END_NAMESPACE
00156 #endif /* _ALG_SMEAR_CD_ */
00157 

Generated on Sat Oct 10 14:11:10 2009 for Columbia Physics System by  doxygen 1.3.9.1