rb::TPhotonD Class Reference

#include <TPhoton_o.h>

Inheritance diagram for rb::TPhotonD:

rb::TPhoton List of all members.

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

Detailed Description

Definition at line 58 of file TPhoton_o.h.


Constructor & Destructor Documentation

rb::TPhotonD::TPhotonD (  )  [inline]

Definition at line 60 of file TPhoton_o.h.

00060 :TPhoton(){};


Member Function Documentation

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().

00048                             {
00049     double k = fBetaI*fCosTheta;
00050     return 0.5*fiBetaI*fLnD_n*(1 - k*k);
00051   }

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 }


Member Data Documentation

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().


Generated on Tue Nov 29 23:36:35 2016 for BOSS_7.0.2 by  doxygen 1.4.7