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

alg_w_spect.h

Go to the documentation of this file.
00001 #include<config.h>
00002 CPS_START_NAMESPACE
00003 
00004 //---------------------------------------------------------------------------
00005 //
00006 // alg_w_spect.h
00007 //
00008 // Header file for all alg classes relevant to Wilson-type fermion
00009 // spectroscopy. The type of glue or fermion is given as
00010 // an argument of type Lattice& to the constructor. If the 
00011 // fermion type is not F_CLASS_WILSON or F_CLASS_CLOVER or 
00012 // F_CLASS_DWF the constructors exit with a general error.
00013 //
00014 //
00015 // SEE COMMENTS AT THE END ABOUT THE NAME SCHEME OF MESON DATA FILES (4/4/99)
00016 //---------------------------------------------------------------------------
00017 
00018 
00019 
00020 #ifndef INCLUDED_ALG_W_SPECT_H
00021 #define INCLUDED_ALG_W_SPECT_H
00022 
00023 
00024 CPS_END_NAMESPACE
00025 #include <alg/alg_base.h>  
00026 #include <alg/w_spect_arg.h>
00027 
00028 CPS_START_NAMESPACE
00029 
00030 //---------------------------------------------------------------------------
00031 // Forward Declarations
00032 //---------------------------------------------------------------------------
00033 class Lattice;                      
00034 class CommonArg;                    
00035 class WspectArg;                    
00036 
00037 
00038 //---------------------------------------------------------------------------
00039 // AlgWspect is derived from Alg and is relevant to  
00040 // spectroscopy with Wilson type fermions (i.e. Wilson, Clover, Dwf). 
00041 // The type of fermion is determined by the argument to the 
00042 // constructor. If the fermion type is not F_CLASS_WILSON or 
00043 // F_CLASS_CLOVER or F_CLASS_DWF the constructors exit with a 
00044 // general error.
00045 // Xiaodong: Only normal mesons are calculated
00046 //           To calculate normal+extended mesons, use AlgWspectExtMeson
00047 //---------------------------------------------------------------------------
00048 
00049 class AlgWspect : public Alg
00050 {
00051  private:
00052   static char *d_class_name;
00053  protected:                 
00054   static int   d_counter;
00055   static int   d_count_step;
00056 
00057   WspectArg *  d_arg_p;          // the spectrum arg for each quark mass
00058   CgArg *      cg_arg_p;         // added by mflin to really pass CgArg to the class
00059   int          d_num_args;       // num of non-degenerate quark masses
00060   
00061  public:
00062   AlgWspect(Lattice & latt, 
00063             CommonArg *c_arg, 
00064             WspectArg *arg,
00065             CgArg *cg,
00066             int n_quark_masses = 1);   // Ping -- needed for heavy-light
00067 
00068   static void SetCounter(int counter, int step);
00069   
00070   static int  GetCounter()              { return d_counter; }
00071 
00072   virtual ~AlgWspect();
00073 
00074   void run(void);
00075 };
00076 
00077 //derived class
00078 class AlgWspectExtMeson : public AlgWspect
00079 {
00080  private:
00081   static char *d_class_name;
00082   //simply override the run() function
00083  public:
00084   AlgWspectExtMeson(Lattice & latt, 
00085             CommonArg *c_arg, 
00086             WspectArg *arg,
00087                     CgArg *cg,
00088             int n_quark_masses = 1);
00089   virtual ~AlgWspectExtMeson();
00090   
00091   void run(void);
00092 };
00093 
00094 
00095 #endif
00096 
00097 
00098 CPS_END_NAMESPACE

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