00001 #include<config.h> 00002 CPS_START_NAMESPACE 00003 //------------------------------------------------------------------ 00004 // 00005 // alg_pot.h 00006 // 00007 // Header file for the AlgPot class. 00008 // 00009 // AlgPot is derived from Alg and it measures the potential 00010 // into different propagation directions 00011 // 00012 //------------------------------------------------------------------ 00013 00014 00015 #ifndef INCLUDED_ALG_POT_H 00016 #define INCLUDED_ALG_POT_H 00017 00018 CPS_END_NAMESPACE 00019 #include <math.h> // for exponential function 00020 #include <alg/pot_arg.h> 00021 #include <alg/alg_base.h> 00022 #include <alg/common_arg.h> 00023 #include <util/lattice.h> // for PathOrderedProduct 00024 CPS_START_NAMESPACE 00025 00026 00027 const Float le=log(exp(1.)); 00028 00029 class AlgPot : public Alg 00030 { 00031 private: 00032 char *cname; 00033 00034 PotArg *alg_pot_arg; // The argument structure for the potential 00035 Float norm_fac; // normalization factor for colour and local volume 00036 Float xiB2; // bare anisotropy squared 00037 // for the purpose of the (anisotropic) heat bath all 00038 // temporal links were multiplied by the bare anisotropy 00039 // in this manner the update could be done using 00040 // the isotropic code --> we have to convert the temporal links back 00041 // aniso_factor = xi0^{-2* (number of temporal links) } 00042 00043 static Float power(Float x, Float y) {return exp(y * log(x)/le );} 00044 // define x^y through x^y = exp [y* ln(x)] and ln(x) = log(x)/log(e) 00045 00046 public: 00047 AlgPot(Lattice & latt, CommonArg *c_arg, PotArg *arg); 00048 00049 virtual ~AlgPot(); 00050 00051 void run(void); 00052 00053 // historical junk -- uncommented by manke for v4.1.0 00054 // Float Wzx[100]; 00055 // Float Wzt[100]; 00056 00057 }; 00058 00059 00060 00061 #endif 00062 00063 00064 00065 00066 00067 CPS_END_NAMESPACE
1.3.9.1