/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/Mcgpj/Mcgpj-00-01-04/src/code/inc/TRadGlobal.h

Go to the documentation of this file.
00001 #ifndef RAD_TRadGlobal
00002 #define RAD_TRadGlobal
00003 
00004 #include "TConstants.h"
00005 
00006 class TRadGlobal{
00007 protected:
00008   double fE;        // Beam energy
00009   double fs;        // s = 4*E*E
00010   double fdE;       // soft and virtual photons border absolute units
00011   double fdE_Rel;   // soft and virtual photons border absolute units
00012   double fXMin;     // soft and virtual photons border relative units
00013   double fLnXMin;   // logarithm of previous border
00014   double fXMax;     // maximum emmited energy
00015   double fLnXMax;   // logarithm of maximum emitted energy
00016   double fLnR;      // logarithm of ratio of maximum and mininum
00017                     // possible emitted energy
00018   double fMI;       // mass of initial particles
00019   double fMI2;      // squared mass of initial particles
00020   double fBetaI;    // velocity of initial particles
00021   double fGammaI;   // gamma of initial particles
00022   double fMF;       // mass of final particles
00023   double fMF2;      // squared mass of final particles
00024   double fBetaF;    // velocity of final particles
00025   double fGammaF;   // gamma of initial particles
00026   double fThetaMin; // minimum angle we use symmetric angles only 
00027   double fCosThetaMin; // minimum angle we use symmetric angles only 
00028   double fL;        // big logarithm
00029   double fBeta;     // beta from D-functions
00030   double fTheta0;   // collinear region
00031   double fTheta0_Rel;// collinear region
00032   double fCosTheta0;   // collinear region
00033   double fLnD;      // lnd
00034   double fb;        // D function integral with fXMin upper limit
00035   double fbRed;     // D function integral with fInfraRedCut upper limit
00036   double fD0;
00037   double fCosThetaInt;
00038   double fThetaInt; // theta intermediate
00039   double fInfraRedCut; //  double fInfraRedNorm;
00040   double fTotalError; // total error of cross section 
00041   double fRelativeError; // relative error of each part of cross section 
00042   int fType; // process type
00043 
00044   std::string fDatadir;
00045   std::string fVpolFname;
00046   std::string fIntFname;
00047 
00048 public:
00049   TRadGlobal();
00050   ~TRadGlobal();
00051   inline double Get_E(){return fE;}
00052   inline double Get_s(){return fs;}
00053   inline double Get_de(){return fdE;}
00054   inline double Get_ThetaMin(){return fThetaMin;}
00055   inline double Get_CosThetaMin(){return fCosThetaMin;}
00056   inline double Get_CosThetaInt(){return fCosThetaInt;}
00057   inline double Get_XMin(){return fXMin;}
00058   inline double Get_XMax(){return fXMax;}
00059   inline double Get_LnDelta(){return fLnXMin;}
00060   inline double Get_LnXMax(){return fLnXMax;}
00061   inline double Get_LnR(){return fLnR;}
00062   inline double Get_MI2(){return fMI2;}
00063   inline double Get_MF2(){return fMF2;}
00064   inline double Get_BetaF(){return fBetaF;}
00065   inline double Get_BetaI(){return fBetaI;}
00066   inline double Get_GammaF(){return fGammaF;}
00067   inline double Get_GammaI(){return fGammaI;}
00068   inline double Get_L(){return fL;}
00069   inline double Get_Beta(){return fBeta;}
00070   inline double Get_Theta0(){return fTheta0;}
00071   inline double Get_CosTheta0(){return fCosTheta0;}
00072   inline double Get_LnD(){return fLnD;}
00073   inline double Get_b(){return fb;}
00074   inline double Get_bRed(){return fbRed;}
00075   inline double Get_bRed(const double &Beta2, const double &D0){
00076     return pow(fInfraRedCut,Beta2)*D0;
00077   }
00078   inline double Get_InfraRedCut(){return fInfraRedCut;}
00079   //  inline double Get_InfraRedNorm(){return fInfraRedNorm;}
00080   inline double Get_D0(){return fD0;}
00081   inline double Get_Norm(){return gConst->Alpha2()*gConst->HC2()*1e7/Get_s();}
00082   inline double Get_TotalError(){return fTotalError;}
00083   inline double Get_RelativeError(){return fRelativeError;}
00084 
00085   inline void Set_E(const double &x){ fE = x; }
00086   inline void Set_ThetaMin(const double &x){ fThetaMin = x; }
00087   inline void Set_dE_Abs(const double &x){ fdE = x; }
00088   inline void Set_dE_Rel(const double &x){ fdE_Rel = x; }
00089   inline void Set_Theta0_Abs(const double &x){ fTheta0 = x; }
00090   inline void Set_Theta0_Rel(const double &x){ fTheta0_Rel = x; }
00091   inline void Set_ThetaInt(const double &x){ fThetaInt = x; }
00092   inline void Set_Type(const int x){ fType = x; }
00093   inline void Set_InfraRedCut(const double &x){fInfraRedCut = x;}
00094   inline void Set_TotalError(const double &x){fTotalError = x;}
00095   inline void Set_RelativeError(const double &x){fRelativeError = x;}
00096   void Init(); // commit & initialization of all parameters
00097   void Print(void);
00098   void Default();
00099 
00100   inline void Get_VarPar(const double &y, double &Beta2, double &D0){
00101     double dL   = 2*log(y);
00102     Beta2 = gConst->AlphaPi()*(fL + dL -1);
00103     //    D0   = 1.+3./4.*Beta2-Beta2*Beta2/24.*(gConst->Pi2() + (fL+dL)/3 - 47./8.);
00104     D0   = 1.+3./4.*Beta2+Beta2*Beta2/4.*(9./8.-gConst->Pi2()/3);
00105   }
00106 
00107   inline double Get_Var_b(const double &y){
00108     double Beta2, D0;
00109     Get_VarPar(y, Beta2, D0);
00110     return pow(fXMin,Beta2)*D0;
00111   }
00112 
00113   void SetDatadir(std::string dir) {fDatadir = dir;}
00114   void SetVpolFname(std::string fname) {fVpolFname = fname;}
00115   void SetIntFname(std::string fname) {fIntFname = fname;}
00116   std::string GetDatadir() {return fDatadir;}
00117   std::string GetVpolFname() {return fVpolFname;}
00118   std::string GetIntFname() {return fIntFname;}
00119 };
00120 
00121 extern TRadGlobal *gGlobal;
00122 
00123 #endif //#ifndef RAD_TRadGlobal

Generated on Tue Nov 29 23:12:41 2016 for BOSS_7.0.2 by  doxygen 1.4.7