00001 #ifndef RAD_TConstants 00002 #define RAD_TConstants 00003 00004 #include <cmath> 00005 #include <iostream> 00006 #define M_ALPHA 0.00729735307964482 // = 1/137.0359895 00007 #define M_HC 197.327053 00008 #define M_ME 0.51099907 00009 #define M_MMU 105.658357 00010 #define M_MTAU 1776.99 00011 #define M_MPI 139.57018 00012 #define M_MK0 497.672 00013 #define M_MKC 493.677 00014 #define M_META 547.75 00015 class TConstants{ 00016 protected: 00017 double fAlphaScale; 00018 double fAlpha; 00019 double fAlpha2; 00020 double fAlpha3; 00021 double fAlphaPi; 00022 public: 00023 TConstants(){ 00024 fAlphaScale = 1; 00025 Init(); 00026 }; 00027 ~TConstants(){}; 00028 void Init(){ 00029 fAlpha = M_ALPHA*fAlphaScale; 00030 fAlpha2 = fAlpha*fAlpha; 00031 fAlpha3 = fAlpha2*fAlpha; 00032 fAlphaPi = fAlpha/M_PI; 00033 } 00034 void SetAlphaScale(const double &x){fAlphaScale = x; Init();} 00035 inline double GetAlphaScale(){return fAlphaScale;} 00036 inline double Alpha(){return fAlpha;} 00037 inline double Alpha2(){return fAlpha2;} 00038 inline double Alpha3(){return fAlpha3;} 00039 static double Pi(){return M_PI;} 00040 static double Pi2(){return M_PI*M_PI;} 00041 inline double AlphaPi(){return fAlphaPi;} 00042 static double HC(){return M_HC;} 00043 static double HC2(){return M_HC*M_HC;} 00044 static double Me(){return M_ME;} 00045 static double Me2(){return M_ME*M_ME;} 00046 static double Mmu(){return M_MMU;} 00047 static double Mmu2(){return M_MMU*M_MMU;} 00048 static double Mtau(){return M_MTAU;} 00049 static double Mtau2(){return M_MTAU*M_MTAU;} 00050 static double Mpi(){return M_MPI;} 00051 static double Mpi2(){return M_MPI*M_MPI;} 00052 static double Meta(){return M_META;} 00053 static double Meta2(){return M_META*M_META;} 00054 static double MK0(){return M_MK0;} 00055 static double MK02(){return M_MK0*M_MK0;} 00056 static double MKC(){return M_MKC;} 00057 static double MKC2(){return M_MKC*M_MKC;} 00058 void Print(){ 00059 std::cout<<"Alpha scale = "<<fAlphaScale<<std::endl; 00060 } 00061 }; 00062 00063 extern TConstants *gConst; 00064 00065 #endif //#ifndef RAD_TConstants