BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TRadGlobal.h
Go to the documentation of this file.
1#ifndef RAD_TRadGlobal
2#define RAD_TRadGlobal
3
4#include "TConstants.h"
5
6class TRadGlobal {
7protected:
8 double fE; // Beam energy
9 double fs; // s = 4*E*E
10 double fdE; // soft and virtual photons border absolute units
11 double fdE_Rel; // soft and virtual photons border absolute units
12 double fXMin; // soft and virtual photons border relative units
13 double fLnXMin; // logarithm of previous border
14 double fXMax; // maximum emmited energy
15 double fLnXMax; // logarithm of maximum emitted energy
16 double fLnR; // logarithm of ratio of maximum and mininum
17 // possible emitted energy
18 double fMI; // mass of initial particles
19 double fMI2; // squared mass of initial particles
20 double fBetaI; // velocity of initial particles
21 double fGammaI; // gamma of initial particles
22 double fMF; // mass of final particles
23 double fMF2; // squared mass of final particles
24 double fBetaF; // velocity of final particles
25 double fGammaF; // gamma of initial particles
26 double fThetaMin; // minimum angle we use symmetric angles only
27 double fCosThetaMin; // minimum angle we use symmetric angles only
28 double fL; // big logarithm
29 double fBeta; // beta from D-functions
30 double fTheta0; // collinear region
31 double fTheta0_Rel; // collinear region
32 double fCosTheta0; // collinear region
33 double fLnD; // lnd
34 double fb; // D function integral with fXMin upper limit
35 double fbRed; // D function integral with fInfraRedCut upper limit
36 double fD0;
38 double fThetaInt; // theta intermediate
39 double fInfraRedCut; // double fInfraRedNorm;
40 double fTotalError; // total error of cross section
41 double fRelativeError; // relative error of each part of cross section
42 int fType; // process type
43
44 std::string fDatadir;
45 std::string fVpolFname;
46 std::string fIntFname;
47
48public:
51 inline double Get_E() { return fE; }
52 inline double Get_s() { return fs; }
53 inline double Get_de() { return fdE; }
54 inline double Get_ThetaMin() { return fThetaMin; }
55 inline double Get_CosThetaMin() { return fCosThetaMin; }
56 inline double Get_CosThetaInt() { return fCosThetaInt; }
57 inline double Get_XMin() { return fXMin; }
58 inline double Get_XMax() { return fXMax; }
59 inline double Get_LnDelta() { return fLnXMin; }
60 inline double Get_LnXMax() { return fLnXMax; }
61 inline double Get_LnR() { return fLnR; }
62 inline double Get_MI2() { return fMI2; }
63 inline double Get_MF2() { return fMF2; }
64 inline double Get_BetaF() { return fBetaF; }
65 inline double Get_BetaI() { return fBetaI; }
66 inline double Get_GammaF() { return fGammaF; }
67 inline double Get_GammaI() { return fGammaI; }
68 inline double Get_L() { return fL; }
69 inline double Get_Beta() { return fBeta; }
70 inline double Get_Theta0() { return fTheta0; }
71 inline double Get_CosTheta0() { return fCosTheta0; }
72 inline double Get_LnD() { return fLnD; }
73 inline double Get_b() { return fb; }
74 inline double Get_bRed() { return fbRed; }
75 inline double Get_bRed( const double& Beta2, const double& D0 ) {
76 return pow( fInfraRedCut, Beta2 ) * D0;
77 }
78 inline double Get_InfraRedCut() { return fInfraRedCut; }
79 // inline double Get_InfraRedNorm(){return fInfraRedNorm;}
80 inline double Get_D0() { return fD0; }
81 inline double Get_Norm() { return gConst->Alpha2() * gConst->HC2() * 1e7 / Get_s(); }
82 inline double Get_TotalError() { return fTotalError; }
83 inline double Get_RelativeError() { return fRelativeError; }
84
85 inline void Set_E( const double& x ) { fE = x; }
86 inline void Set_ThetaMin( const double& x ) { fThetaMin = x; }
87 inline void Set_dE_Abs( const double& x ) { fdE = x; }
88 inline void Set_dE_Rel( const double& x ) { fdE_Rel = x; }
89 inline void Set_Theta0_Abs( const double& x ) { fTheta0 = x; }
90 inline void Set_Theta0_Rel( const double& x ) { fTheta0_Rel = x; }
91 inline void Set_ThetaInt( const double& x ) { fThetaInt = x; }
92 inline void Set_Type( const int x ) { fType = x; }
93 inline void Set_InfraRedCut( const double& x ) { fInfraRedCut = x; }
94 inline void Set_TotalError( const double& x ) { fTotalError = x; }
95 inline void Set_RelativeError( const double& x ) { fRelativeError = x; }
96 void Init(); // commit & initialization of all parameters
97 void Print( void );
98 void Default();
99
100 inline void Get_VarPar( const double& y, double& Beta2, double& D0 ) {
101 double dL = 2 * log( y );
102 Beta2 = gConst->AlphaPi() * ( fL + dL - 1 );
103 // D0 = 1.+3./4.*Beta2-Beta2*Beta2/24.*(gConst->Pi2() + (fL+dL)/3 - 47./8.);
104 D0 = 1. + 3. / 4. * Beta2 + Beta2 * Beta2 / 4. * ( 9. / 8. - gConst->Pi2() / 3 );
105 }
106
107 inline double Get_Var_b( const double& y ) {
108 double Beta2, D0;
109 Get_VarPar( y, Beta2, D0 );
110 return pow( fXMin, Beta2 ) * D0;
111 }
112
113 void SetDatadir( std::string dir ) { fDatadir = dir; }
114 void SetVpolFname( std::string fname ) { fVpolFname = fname; }
115 void SetIntFname( std::string fname ) { fIntFname = fname; }
116 std::string GetDatadir() { return fDatadir; }
117 std::string GetVpolFname() { return fVpolFname; }
118 std::string GetIntFname() { return fIntFname; }
119};
120
121extern TRadGlobal* gGlobal;
122
123#endif // #ifndef RAD_TRadGlobal
TConstants * gConst
Definition Mcgpj.cxx:49
TRadGlobal * gGlobal
Definition Mcgpj.cxx:47
double fMF
Definition TRadGlobal.h:22
double Get_InfraRedCut()
Definition TRadGlobal.h:78
double fCosThetaMin
Definition TRadGlobal.h:27
void SetDatadir(std::string dir)
Definition TRadGlobal.h:113
double Get_de()
Definition TRadGlobal.h:53
double fBeta
Definition TRadGlobal.h:29
void Set_ThetaMin(const double &x)
Definition TRadGlobal.h:86
double fL
Definition TRadGlobal.h:28
double Get_GammaI()
Definition TRadGlobal.h:67
void Set_Type(const int x)
Definition TRadGlobal.h:92
double Get_CosThetaInt()
Definition TRadGlobal.h:56
double fGammaF
Definition TRadGlobal.h:25
double fBetaI
Definition TRadGlobal.h:20
double fCosThetaInt
Definition TRadGlobal.h:37
void Set_ThetaInt(const double &x)
Definition TRadGlobal.h:91
double fBetaF
Definition TRadGlobal.h:24
double Get_D0()
Definition TRadGlobal.h:80
double fThetaMin
Definition TRadGlobal.h:26
void Set_dE_Abs(const double &x)
Definition TRadGlobal.h:87
double Get_Theta0()
Definition TRadGlobal.h:70
double fMI
Definition TRadGlobal.h:18
double Get_TotalError()
Definition TRadGlobal.h:82
std::string fVpolFname
Definition TRadGlobal.h:45
double fGammaI
Definition TRadGlobal.h:21
double Get_Beta()
Definition TRadGlobal.h:69
void Set_InfraRedCut(const double &x)
Definition TRadGlobal.h:93
double Get_MF2()
Definition TRadGlobal.h:63
double fLnD
Definition TRadGlobal.h:33
std::string GetVpolFname()
Definition TRadGlobal.h:117
double Get_MI2()
Definition TRadGlobal.h:62
double fb
Definition TRadGlobal.h:34
double fRelativeError
Definition TRadGlobal.h:41
double fs
Definition TRadGlobal.h:9
double Get_BetaF()
Definition TRadGlobal.h:64
double Get_RelativeError()
Definition TRadGlobal.h:83
double fXMax
Definition TRadGlobal.h:14
double Get_LnD()
Definition TRadGlobal.h:72
double fMI2
Definition TRadGlobal.h:19
double fLnXMin
Definition TRadGlobal.h:13
void Set_RelativeError(const double &x)
Definition TRadGlobal.h:95
void SetVpolFname(std::string fname)
Definition TRadGlobal.h:114
double fMF2
Definition TRadGlobal.h:23
void Set_Theta0_Rel(const double &x)
Definition TRadGlobal.h:90
void SetIntFname(std::string fname)
Definition TRadGlobal.h:115
double Get_LnDelta()
Definition TRadGlobal.h:59
double Get_BetaI()
Definition TRadGlobal.h:65
void Set_Theta0_Abs(const double &x)
Definition TRadGlobal.h:89
double Get_bRed(const double &Beta2, const double &D0)
Definition TRadGlobal.h:75
double Get_bRed()
Definition TRadGlobal.h:74
double fbRed
Definition TRadGlobal.h:35
double fLnXMax
Definition TRadGlobal.h:15
double Get_s()
Definition TRadGlobal.h:52
double fTheta0
Definition TRadGlobal.h:30
std::string GetIntFname()
Definition TRadGlobal.h:118
std::string fDatadir
Definition TRadGlobal.h:44
double Get_CosTheta0()
Definition TRadGlobal.h:71
double Get_XMax()
Definition TRadGlobal.h:58
std::string GetDatadir()
Definition TRadGlobal.h:116
void Print(void)
double fdE
Definition TRadGlobal.h:10
double Get_LnXMax()
Definition TRadGlobal.h:60
void Set_E(const double &x)
Definition TRadGlobal.h:85
double Get_GammaF()
Definition TRadGlobal.h:66
double Get_CosThetaMin()
Definition TRadGlobal.h:55
double fD0
Definition TRadGlobal.h:36
double Get_E()
Definition TRadGlobal.h:51
double fInfraRedCut
Definition TRadGlobal.h:39
double fE
Definition TRadGlobal.h:8
double fThetaInt
Definition TRadGlobal.h:38
double fTheta0_Rel
Definition TRadGlobal.h:31
double fLnR
Definition TRadGlobal.h:16
void Set_dE_Rel(const double &x)
Definition TRadGlobal.h:88
void Init()
std::string fIntFname
Definition TRadGlobal.h:46
double fdE_Rel
Definition TRadGlobal.h:11
void Get_VarPar(const double &y, double &Beta2, double &D0)
Definition TRadGlobal.h:100
double Get_L()
Definition TRadGlobal.h:68
void Set_TotalError(const double &x)
Definition TRadGlobal.h:94
double Get_Var_b(const double &y)
Definition TRadGlobal.h:107
double fXMin
Definition TRadGlobal.h:12
void Default()
double Get_b()
Definition TRadGlobal.h:73
double fTotalError
Definition TRadGlobal.h:40
double Get_ThetaMin()
Definition TRadGlobal.h:54
double fCosTheta0
Definition TRadGlobal.h:32
double Get_LnR()
Definition TRadGlobal.h:61
double Get_XMin()
Definition TRadGlobal.h:57
double Get_Norm()
Definition TRadGlobal.h:81