#include <TPhoton_o.h>
Inheritance diagram for rb::TPhotonD:
Public Member Functions | |
TPhotonD () | |
void | Init (const double &delta, const double &beta) |
double | GetEnergy () |
double | GetENorm () |
void | SetEnergyRange (double Emin, double Emax) |
void | SetThetaRange (double thmin, double thmax) |
void | SetCosThetaRange (double c1, double c2) |
const TLorentzVector & | GetPhoton () |
const TLorentzVector & | GetNewPhoton () |
double | GetPhotNorm () |
double | GetCosThetaF () |
double | GetThNormF () |
double | GetPhi () |
double | GetPhiNorm () |
Protected Attributes | |
TLorentzVector | fk |
double | fknorm |
double | fNorm |
double | fE |
double | fP0 |
double | fP1 |
double | fX |
double | fCosTheta |
double | fLnD |
double | fBetaI |
double | fiBetaI |
double | fLnD_n |
double | fBt |
Definition at line 58 of file TPhoton_o.h.
rb::TPhotonD::TPhotonD | ( | ) | [inline] |
double rb::TPhoton::GetCosThetaF | ( | ) | [inline, inherited] |
Definition at line 43 of file TPhoton_o.h.
References exp(), rb::TPhoton::fBetaI, rb::TPhoton::fBt, rb::TPhoton::fCosTheta, and rb::TPhoton::fLnD_n.
Referenced by rb::TPhoton::GetNewPhoton().
00043 { 00044 double d = fBt*exp(fLnD_n*gRandom->Rndm()); 00045 fCosTheta = (d - 1)/(fBetaI*(d + 1)); 00046 return fCosTheta; 00047 }
double rb::TPhotonD::GetEnergy | ( | ) | [inline] |
Reimplemented from rb::TPhoton.
Definition at line 68 of file TPhoton_o.h.
References exp(), rb::TPhoton::fP0, rb::TPhoton::fP1, and rb::TPhoton::fX.
Referenced by TCrossPart::GetValue().
00068 { 00069 double t1 = log(gRandom->Rndm())*fP1; 00070 fX = fP0*exp(t1); 00071 return fX; 00072 }
double rb::TPhotonD::GetENorm | ( | ) | [inline] |
Reimplemented from rb::TPhoton.
Definition at line 73 of file TPhoton_o.h.
References rb::TPhoton::fNorm.
Referenced by TCrossPart::GetValue().
00073 {return fNorm;}
const TLorentzVector & TPhoton::GetNewPhoton | ( | ) | [inherited] |
Definition at line 42 of file TPhoton_o.C.
References rb::TPhoton::fE, rb::TPhoton::fk, rb::TPhoton::fknorm, rb::TPhoton::GetCosThetaF(), rb::TPhoton::GetEnergy(), rb::TPhoton::GetENorm(), rb::TPhoton::GetPhi(), rb::TPhoton::GetPhiNorm(), rb::TPhoton::GetThNormF(), and s.
Referenced by TCrossPart::GetValue().
00042 { 00043 double E = fE*GetEnergy(); 00044 double c = GetCosThetaF(); 00045 double s = sqrt(1-c*c); 00046 double phi = GetPhi(); 00047 double cp,sp; 00048 sincos(phi,&sp,&cp); 00049 // cout<<E<<" "<<c<<" "<<phi<<endl; 00050 fk.SetPxPyPzE(E*cp*s,E*sp*s,E*c,E); 00051 fknorm = GetENorm()*GetThNormF()*GetPhiNorm(); 00052 return fk; 00053 }
double rb::TPhoton::GetPhi | ( | ) | [inline, inherited] |
Definition at line 52 of file TPhoton_o.h.
References M_PI.
Referenced by rb::TPhoton::GetNewPhoton().
00052 { 00053 return 2*M_PI*gRandom->Rndm(); 00054 }
double rb::TPhoton::GetPhiNorm | ( | ) | [inline, inherited] |
Definition at line 55 of file TPhoton_o.h.
References M_PI.
Referenced by rb::TPhoton::GetNewPhoton().
00055 {return 2*M_PI;}
double rb::TPhoton::GetPhotNorm | ( | ) | [inline, inherited] |
Definition at line 37 of file TPhoton_o.h.
References rb::TPhoton::fknorm.
Referenced by TCrossPart::GetValue().
00037 {return fknorm;}
const TLorentzVector& rb::TPhoton::GetPhoton | ( | ) | [inline, inherited] |
Definition at line 32 of file TPhoton_o.h.
References rb::TPhoton::fk.
Referenced by TCrossPart::SetFinalParticles().
00032 { 00033 return fk; 00034 }
double rb::TPhoton::GetThNormF | ( | ) | [inline, inherited] |
Definition at line 48 of file TPhoton_o.h.
References rb::TPhoton::fBetaI, rb::TPhoton::fCosTheta, rb::TPhoton::fiBetaI, and rb::TPhoton::fLnD_n.
Referenced by rb::TPhoton::GetNewPhoton().
void rb::TPhotonD::Init | ( | const double & | delta, | |
const double & | beta | |||
) | [inline] |
Definition at line 61 of file TPhoton_o.h.
References rb::TPhoton::fNorm, rb::TPhoton::fP0, and rb::TPhoton::fP1.
Referenced by TCrossPart::TCrossPart().
00061 { 00062 // Initializing photons in final state 00063 // by distribution 1/x 00064 fP0 = delta; 00065 fP1 = 2/beta; 00066 fNorm = pow(delta,beta/2); 00067 }
void TPhoton::SetCosThetaRange | ( | double | c1, | |
double | c2 | |||
) | [inherited] |
Definition at line 36 of file TPhoton_o.C.
References rb::TPhoton::fBetaI, rb::TPhoton::fBt, and rb::TPhoton::fLnD_n.
Referenced by rb::TPhoton::SetThetaRange(), and rb::TPhoton::TPhoton().
00036 { 00037 fLnD_n = log((1-fBetaI*c1)/(1+fBetaI*c1)*(1+fBetaI*c2)/(1-fBetaI*c2)); 00038 fBt = (1+fBetaI*c1)/(1-fBetaI*c1); 00039 // cout<<c1<<" "<<c2<<" "<<fLnD_n<<" "<<fBt<<endl; 00040 }
void TPhoton::SetEnergyRange | ( | double | Emin, | |
double | Emax | |||
) | [inherited] |
Definition at line 23 of file TPhoton_o.C.
References rb::TPhoton::fE, rb::TPhoton::fNorm, rb::TPhoton::fP0, and rb::TPhoton::fP1.
Referenced by T2piCrossPart::T2piCrossPart(), T3piCrossPart::T3piCrossPart(), T3piEtaCrossPart::T3piEtaCrossPart(), T4piCrossPart::T4piCrossPart(), T5piCrossPart::T5piCrossPart(), TKKEtaCrossPart::TKKEtaCrossPart(), TKKPCrossPart::TKKPCrossPart(), rb::TPhoton::TPhoton(), and TRhoEtaCrossPart::TRhoEtaCrossPart().
00023 { 00024 fP0 = Emin/fE; 00025 fP1 = Emax/fE/fP0; 00026 fNorm = log(fP1); 00027 fP1 = fNorm; // to increase speed of exponent in GetEnergy 00028 // cout<<fP0<<" "<<fP1<<" "<<fNorm<<" "<<fLnD_n<<" "<<fBt<<endl; 00029 }
void TPhoton::SetThetaRange | ( | double | thmin, | |
double | thmax | |||
) | [inherited] |
Definition at line 31 of file TPhoton_o.C.
References cos(), and rb::TPhoton::SetCosThetaRange().
Referenced by TCrossPart::TCrossPart().
00031 { 00032 double c1 = cos(thmax), c2 = cos(thmin); 00033 SetCosThetaRange(c1,c2); 00034 }
double rb::TPhoton::fBetaI [protected, inherited] |
Definition at line 18 of file TPhoton_o.h.
Referenced by rb::TPhoton::GetCosThetaF(), rb::TPhoton::GetThNormF(), rb::TPhoton::SetCosThetaRange(), and rb::TPhoton::TPhoton().
double rb::TPhoton::fBt [protected, inherited] |
Definition at line 21 of file TPhoton_o.h.
Referenced by rb::TPhoton::GetCosThetaF(), and rb::TPhoton::SetCosThetaRange().
double rb::TPhoton::fCosTheta [protected, inherited] |
Definition at line 16 of file TPhoton_o.h.
Referenced by rb::TPhoton::GetCosThetaF(), and rb::TPhoton::GetThNormF().
double rb::TPhoton::fE [protected, inherited] |
Definition at line 12 of file TPhoton_o.h.
Referenced by rb::TPhoton::GetNewPhoton(), rb::TPhoton::SetEnergyRange(), and rb::TPhoton::TPhoton().
double rb::TPhoton::fiBetaI [protected, inherited] |
Definition at line 19 of file TPhoton_o.h.
Referenced by rb::TPhoton::GetThNormF(), and rb::TPhoton::TPhoton().
TLorentzVector rb::TPhoton::fk [protected, inherited] |
Definition at line 9 of file TPhoton_o.h.
Referenced by rb::TPhoton::GetNewPhoton(), and rb::TPhoton::GetPhoton().
double rb::TPhoton::fknorm [protected, inherited] |
Definition at line 10 of file TPhoton_o.h.
Referenced by rb::TPhoton::GetNewPhoton(), and rb::TPhoton::GetPhotNorm().
double rb::TPhoton::fLnD [protected, inherited] |
Definition at line 17 of file TPhoton_o.h.
double rb::TPhoton::fLnD_n [protected, inherited] |
Definition at line 20 of file TPhoton_o.h.
Referenced by rb::TPhoton::GetCosThetaF(), rb::TPhoton::GetThNormF(), and rb::TPhoton::SetCosThetaRange().
double rb::TPhoton::fNorm [protected, inherited] |
Definition at line 11 of file TPhoton_o.h.
Referenced by GetENorm(), rb::TPhoton::GetENorm(), Init(), and rb::TPhoton::SetEnergyRange().
double rb::TPhoton::fP0 [protected, inherited] |
Definition at line 13 of file TPhoton_o.h.
Referenced by GetEnergy(), rb::TPhoton::GetEnergy(), Init(), and rb::TPhoton::SetEnergyRange().
double rb::TPhoton::fP1 [protected, inherited] |
Definition at line 14 of file TPhoton_o.h.
Referenced by GetEnergy(), rb::TPhoton::GetEnergy(), Init(), and rb::TPhoton::SetEnergyRange().
double rb::TPhoton::fX [protected, inherited] |
Definition at line 15 of file TPhoton_o.h.
Referenced by GetEnergy(), rb::TPhoton::GetEnergy(), and rb::TPhoton::GetENorm().