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

alg_mom.h

Go to the documentation of this file.
00001 #include<config.h>
00002 CPS_START_NAMESPACE
00003 //------------------------------------------------------------------
00004 //
00005 // alg_mom.h
00006 //
00007 // Header file for the AlgMom class.
00008 //
00009 // AlgMom it calculates the phase factor for each
00010 // lattice site given a number of momenta and the source parameters
00011 //
00012 //------------------------------------------------------------------
00013 
00014 
00015 #ifndef INCLUDED_ALG_MOM_H
00016 #define INCLUDED_ALG_MOM_H
00017 
00018 CPS_END_NAMESPACE
00019 #include <math.h>    // for cos and sin
00020 #include <alg/mom_arg.h>
00021 #include <alg/alg_base.h>
00022 #include <alg/common_arg.h>
00023 CPS_START_NAMESPACE
00024 
00025 
00026 class AlgMom
00027 {
00028  private:
00029     char *cname;
00030     MomArg *alg_mom_arg; // argument structure for momentum states
00031 
00032     Float PI;
00033     int dir,i,j,k;      // propagation direction and 3 orthogonal
00034     int no_of_mom;      // number of momenta to be calculated
00035     int deg;            // calculate degenerate momenta separately/together
00036 
00037     int nx[4];                // local lattice extent
00038     int glb_L[4];             // global lattice extent
00039     int glb_sour_center[4];   // global source location
00040     Complex *mom_fact;
00041 
00042  public:
00043     AlgMom(CommonArg *c_arg, MomArg *arg);
00044     virtual ~AlgMom();
00045     void run(void);
00046         
00047     // returns the complex phase factor for momentum "imom" at site "s"
00048     Complex fact(int imom, int *s);
00049 };
00050 
00051 
00052 
00053 #endif
00054 
00055 
00056 
00057 
00058 
00059 CPS_END_NAMESPACE

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