BOSS 7.0.6
BESIII Offline Software System
Loading...
Searching...
No Matches
rb::TPhoton Class Reference

#include <TPhoton_o.h>

+ Inheritance diagram for rb::TPhoton:

Public Member Functions

 TPhoton ()
 
 TPhoton (double E)
 
 TPhoton (double E, double Emin, double Emax)
 
 ~TPhoton ()
 
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 GetEnergy ()
 
double GetENorm ()
 
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 7 of file TPhoton_o.h.

Constructor & Destructor Documentation

◆ TPhoton() [1/3]

rb::TPhoton::TPhoton ( )
inline

Definition at line 23 of file TPhoton_o.h.

23{}

◆ TPhoton() [2/3]

rb::TPhoton::TPhoton ( double  E)

◆ TPhoton() [3/3]

rb::TPhoton::TPhoton ( double  E,
double  Emin,
double  Emax 
)

◆ ~TPhoton()

rb::TPhoton::~TPhoton ( )
inline

Definition at line 26 of file TPhoton_o.h.

26{}

Member Function Documentation

◆ GetCosThetaF()

double rb::TPhoton::GetCosThetaF ( )
inline

Definition at line 43 of file TPhoton_o.h.

43 {
44 double d = fBt*exp(fLnD_n*gRandom->Rndm());
45 fCosTheta = (d - 1)/(fBetaI*(d + 1));
46 return fCosTheta;
47 }
EvtComplex exp(const EvtComplex &c)
Definition: EvtComplex.hh:252
double fLnD_n
Definition: TPhoton_o.h:20
double fCosTheta
Definition: TPhoton_o.h:16
double fBt
Definition: TPhoton_o.h:21
double fBetaI
Definition: TPhoton_o.h:18

◆ GetEnergy()

double rb::TPhoton::GetEnergy ( )
inline

Definition at line 38 of file TPhoton_o.h.

38 {
39 fX = fP0*exp(gRandom->Rndm()*fP1);
40 return fX;
41 }
double fX
Definition: TPhoton_o.h:15
double fP0
Definition: TPhoton_o.h:13
double fP1
Definition: TPhoton_o.h:14

◆ GetENorm()

double rb::TPhoton::GetENorm ( )
inline

Definition at line 42 of file TPhoton_o.h.

42{return fX*fNorm;}
double fNorm
Definition: TPhoton_o.h:11

◆ GetNewPhoton()

const TLorentzVector & rb::TPhoton::GetNewPhoton ( )

◆ GetPhi()

double rb::TPhoton::GetPhi ( )
inline

Definition at line 52 of file TPhoton_o.h.

52 {
53 return 2*M_PI*gRandom->Rndm();
54 }
#define M_PI
Definition: TConstant.h:4

◆ GetPhiNorm()

double rb::TPhoton::GetPhiNorm ( )
inline

Definition at line 55 of file TPhoton_o.h.

55{return 2*M_PI;}

◆ GetPhotNorm()

double rb::TPhoton::GetPhotNorm ( )
inline

Definition at line 37 of file TPhoton_o.h.

37{return fknorm;}
double fknorm
Definition: TPhoton_o.h:10

◆ GetPhoton()

const TLorentzVector & rb::TPhoton::GetPhoton ( )
inline

Definition at line 32 of file TPhoton_o.h.

32 {
33 return fk;
34 }
TLorentzVector fk
Definition: TPhoton_o.h:9

◆ GetThNormF()

double rb::TPhoton::GetThNormF ( )
inline

Definition at line 48 of file TPhoton_o.h.

48 {
49 double k = fBetaI*fCosTheta;
50 return 0.5*fiBetaI*fLnD_n*(1 - k*k);
51 }
double fiBetaI
Definition: TPhoton_o.h:19

◆ SetCosThetaRange()

void rb::TPhoton::SetCosThetaRange ( double  c1,
double  c2 
)

◆ SetEnergyRange()

void rb::TPhoton::SetEnergyRange ( double  Emin,
double  Emax 
)

◆ SetThetaRange()

void rb::TPhoton::SetThetaRange ( double  thmin,
double  thmax 
)

Member Data Documentation

◆ fBetaI

double rb::TPhoton::fBetaI
protected

Definition at line 18 of file TPhoton_o.h.

Referenced by GetCosThetaF(), and GetThNormF().

◆ fBt

double rb::TPhoton::fBt
protected

Definition at line 21 of file TPhoton_o.h.

Referenced by GetCosThetaF().

◆ fCosTheta

double rb::TPhoton::fCosTheta
protected

Definition at line 16 of file TPhoton_o.h.

Referenced by GetCosThetaF(), and GetThNormF().

◆ fE

double rb::TPhoton::fE
protected

Definition at line 12 of file TPhoton_o.h.

◆ fiBetaI

double rb::TPhoton::fiBetaI
protected

Definition at line 19 of file TPhoton_o.h.

Referenced by GetThNormF().

◆ fk

TLorentzVector rb::TPhoton::fk
protected

Definition at line 9 of file TPhoton_o.h.

Referenced by GetPhoton().

◆ fknorm

double rb::TPhoton::fknorm
protected

Definition at line 10 of file TPhoton_o.h.

Referenced by GetPhotNorm().

◆ fLnD

double rb::TPhoton::fLnD
protected

Definition at line 17 of file TPhoton_o.h.

◆ fLnD_n

double rb::TPhoton::fLnD_n
protected

Definition at line 20 of file TPhoton_o.h.

Referenced by GetCosThetaF(), and GetThNormF().

◆ fNorm

double rb::TPhoton::fNorm
protected

Definition at line 11 of file TPhoton_o.h.

Referenced by GetENorm(), rb::TPhotonD::GetENorm(), and rb::TPhotonD::Init().

◆ fP0

double rb::TPhoton::fP0
protected

Definition at line 13 of file TPhoton_o.h.

Referenced by GetEnergy(), rb::TPhotonD::GetEnergy(), and rb::TPhotonD::Init().

◆ fP1

double rb::TPhoton::fP1
protected

Definition at line 14 of file TPhoton_o.h.

Referenced by GetEnergy(), rb::TPhotonD::GetEnergy(), and rb::TPhotonD::Init().

◆ fX

double rb::TPhoton::fX
protected

Definition at line 15 of file TPhoton_o.h.

Referenced by GetEnergy(), rb::TPhotonD::GetEnergy(), and GetENorm().


The documentation for this class was generated from the following file: