00001 #include<config.h> 00002 CPS_START_NAMESPACE 00008 //------------------------------------------------------------------ 00009 00010 #ifndef INCLUDED_ALG_GHB_H 00011 #define INCLUDED_ALG_GHB_H 00012 00013 CPS_END_NAMESPACE 00014 #include <util/lattice.h> 00015 #include <util/smalloc.h> 00016 #include <util/pmalloc.h> 00017 #include <alg/alg_base.h> 00018 #include <alg/common_arg.h> 00019 #include <alg/ghb_arg.h> 00020 CPS_START_NAMESPACE 00021 00022 //----------------------------------------------------------------------------- 00024 00030 //------------------------------------------------------------------ 00031 class AlgGheatBath : public Alg 00032 { 00033 private: 00034 char *cname; 00035 00036 GhbArg *alg_ghb_arg; 00037 // The argument structure for the GheatBath algorithm 00038 00039 void relocate(); 00040 void preserve_seed(); 00041 void UpdateLink(Matrix* mp, const Matrix & stap); 00042 00043 public: 00044 AlgGheatBath(Lattice & latt, CommonArg *c_arg, GhbArg *arg); 00045 00046 virtual ~AlgGheatBath(); 00047 00048 void run(void); 00049 void NoCheckerBoardRun(); 00050 void NodeCheckerBoardRun(); 00051 }; 00052 00053 #endif 00054 00055 00056 00057 00058 00059 CPS_END_NAMESPACE
1.3.9.1