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

alg_hmc.h

Go to the documentation of this file.
00001 #include<config.h>
00002 CPS_START_NAMESPACE
00003 //------------------------------------------------------------------
00008 //------------------------------------------------------------------
00009 
00010 
00011 #ifndef INCLUDED_ALG_HMC_H
00012 #define INCLUDED_ALG_HMC_H
00013 
00014 CPS_END_NAMESPACE
00015 #include <util/lattice.h>
00016 #include <util/smalloc.h>
00017 #include <util/pmalloc.h>
00018 #include <alg/alg_base.h>
00019 #include <alg/hmc_arg.h>
00020 #include <alg/alg_meas.h>
00021 #include <alg/cg_stats.h>
00022 #include <util/checksum.h>
00023 #include <alg/alg_int.h>
00024 CPS_START_NAMESPACE
00025 
00026 //------------------------------------------------------------------
00028 
00038 //------------------------------------------------------------------
00039 
00040 class AlgHmc
00041 {
00042  private:
00043     char *cname;
00044 
00046     int saveInitialState();
00048     void saveFinalState();
00050     void restoreInitialState();
00052     void restoreFinalState();
00054     int reproduceTest(int attempt);
00056     void reverseTest();
00058     void shiftStates(const int x,const int y,const int z, const int t);
00059 
00060  protected:
00061 
00063     int g_size;
00069     Matrix* gauge_field_init;
00071 
00072     Matrix* gauge_field_final;
00074 
00075 //    unsigned int **rng4d_init;
00076 //    unsigned int **rng5d_init;
00077       LRGState lrg_state;
00079 
00080     int config_no;
00081 
00082     Float h_init;   
00083     Float h_final;  
00084     Float delta_h;  
00085     Float h_delta;  
00086 
00087     Matrix* mom;
00089 
00093     HmcArg *hmc_arg;
00094     CommonArg *common_arg;
00095 
00096     AlgIntAB *integrator;
00098 
00099     unsigned int checksum[2];
00101 
00102  public:
00103 
00104   AlgHmc(AlgIntAB &integrator, CommonArg &c_arg, HmcArg &arg);
00105 
00106   virtual ~AlgHmc();
00107 
00109   Float run(void);
00110 };
00111 
00112 #endif
00113 
00114 CPS_END_NAMESPACE

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