#include <TVCrossPart.h>
Inheritance diagram for TVCrossPart:
Public Member Functions | |
TVCrossPart () | |
virtual | ~TVCrossPart () |
virtual void | Init () |
virtual double | GetValue (const unsigned int) |
void | PrintEvent () |
void | GetEvent (double &p0, double &t0, double &ph0, double &p1, double &t1, double &ph) |
void | GetEvent (double *m, int &n) |
TEvent * | GetEvent () |
unsigned int | GetNPart () |
virtual void | SetThetaMin (const double &)=0 |
virtual void | SetHardPhoton (const bool &x) |
void | SetZeroVP () |
void | SetDefaultVP () |
void | SetNoFSR () |
virtual double | BornShift (const double &, const double &, const double &)=0 |
double | BornCrossSection (const double &) |
Protected Attributes | |
unsigned int | fNPart |
TEvent * | fEvent |
TDFun * | fD |
bool | fHardPhoton |
bool | fZeroVP |
bool | fNoFSR |
Definition at line 7 of file TVCrossPart.h.
TVCrossPart::TVCrossPart | ( | ) | [inline] |
virtual TVCrossPart::~TVCrossPart | ( | ) | [inline, virtual] |
double TVCrossPart::BornCrossSection | ( | const double & | ) |
Definition at line 4 of file TVCrossPart.C.
References BornShift(), cos(), fEvent, fZeroVP, genRecEmupikp::i, Init(), M_PI, TEvent::MakeEvent(), and x.
Referenced by main().
00004 { 00005 //save vacuum polarization status 00006 bool tempVP = fZeroVP; 00007 // set zero vacuum polarization to calculate Born cross-section 00008 fZeroVP = true; 00009 Init(); 00010 00011 // integration in symmetric angle 00012 int NInt = 1<<14; 00013 double x, gsum = 0., h=-(cos(M_PI-theta)-cos(theta))/NInt; 00014 // simpson integration 00015 x = cos(M_PI-theta); fEvent->MakeEvent(x); gsum += BornShift(1,1,x); 00016 for(int i=1; i<NInt; i++){ 00017 x += h; fEvent->MakeEvent(x); gsum += 2*(1+i%2)*BornShift(1,1,x); 00018 } 00019 x += h; fEvent->MakeEvent(x); gsum += BornShift(1,1,x); 00020 00021 //restore vacuum polarization status 00022 fZeroVP = tempVP; 00023 Init(); 00024 00025 return gsum*h/3; 00026 }
virtual double TVCrossPart::BornShift | ( | const double & | , | |
const double & | , | |||
const double & | ||||
) | [pure virtual] |
Implemented in TEPCrossPart, TGGCrossPart, TMuCrossPart, and TPiCrossPart.
Referenced by BornCrossSection().
TEvent* TVCrossPart::GetEvent | ( | ) | [inline] |
void TVCrossPart::GetEvent | ( | double * | m, | |
int & | n | |||
) | [inline] |
void TVCrossPart::GetEvent | ( | double & | p0, | |
double & | t0, | |||
double & | ph0, | |||
double & | p1, | |||
double & | t1, | |||
double & | ph | |||
) | [inline] |
Definition at line 21 of file TVCrossPart.h.
References fEvent, and TEvent::GetEvent().
Referenced by TRadCor::GetEvent(), hist_sample(), main(), TRadCor::MakeEvent(), TRadCor::MakeIntegral(), and TRadCor::MakeMaximum().
unsigned int TVCrossPart::GetNPart | ( | ) | [inline] |
Definition at line 29 of file TVCrossPart.h.
References fNPart.
Referenced by main(), and TRadCor::TRadCor().
00029 {return fNPart;}
virtual double TVCrossPart::GetValue | ( | const unsigned int | ) | [inline, virtual] |
Reimplemented in TEPCrossPart, TGGCrossPart, TMuCrossPart, and TPiCrossPart.
Definition at line 19 of file TVCrossPart.h.
Referenced by TRadCor::MakeEvent(), TRadCor::MakeIntegral(), and TRadCor::MakeMaximum().
virtual void TVCrossPart::Init | ( | ) | [inline, virtual] |
Reimplemented in TEPCrossPart, TGGCrossPart, TMuCrossPart, and TPiCrossPart.
Definition at line 18 of file TVCrossPart.h.
Referenced by BornCrossSection(), and TRadCor::Init().
void TVCrossPart::PrintEvent | ( | ) | [inline] |
void TVCrossPart::SetDefaultVP | ( | ) | [inline] |
virtual void TVCrossPart::SetHardPhoton | ( | const bool & | x | ) | [inline, virtual] |
Definition at line 31 of file TVCrossPart.h.
References fHardPhoton.
Referenced by init_prime_gen_(), Mcgpj::initialize(), and main().
00031 {fHardPhoton = x;}
void TVCrossPart::SetNoFSR | ( | ) | [inline] |
Definition at line 34 of file TVCrossPart.h.
References fNoFSR.
Referenced by init_prime_gen_(), Mcgpj::initialize(), and main().
00034 {fNoFSR = true;}
virtual void TVCrossPart::SetThetaMin | ( | const double & | ) | [pure virtual] |
Implemented in TEPCrossPart, TGGCrossPart, TMuCrossPart, and TPiCrossPart.
Referenced by TRadCor::SetSpecialCase().
void TVCrossPart::SetZeroVP | ( | ) | [inline] |
Definition at line 32 of file TVCrossPart.h.
References fZeroVP.
Referenced by init_prime_gen_(), Mcgpj::initialize(), and main().
00032 {fZeroVP = true;}
TDFun* TVCrossPart::fD [protected] |
Definition at line 11 of file TVCrossPart.h.
Referenced by TPiCrossPart::GetValue(), TMuCrossPart::GetValue(), TGGCrossPart::GetValue(), TEPCrossPart::GetValue(), TPiCrossPart::Init(), TMuCrossPart::Init(), TGGCrossPart::Init(), TEPCrossPart::Init(), TEPCrossPart::TEPCrossPart(), TGGCrossPart::TGGCrossPart(), TMuCrossPart::TMuCrossPart(), TPiCrossPart::TPiCrossPart(), TEPCrossPart::~TEPCrossPart(), TGGCrossPart::~TGGCrossPart(), TMuCrossPart::~TMuCrossPart(), and TPiCrossPart::~TPiCrossPart().
TEvent* TVCrossPart::fEvent [protected] |
Definition at line 10 of file TVCrossPart.h.
Referenced by BornCrossSection(), TPiCrossPart::BornShift(), TMuCrossPart::BornShift(), TEPCrossPart::BornShift(), GetEvent(), TPiCrossPart::GetValue(), TMuCrossPart::GetValue(), TGGCrossPart::GetValue(), TEPCrossPart::GetValue(), TPiCrossPart::Init(), TMuCrossPart::Init(), TGGCrossPart::Init(), TEPCrossPart::Init(), PrintEvent(), TGGCrossPart::R_3_Gamma(), TMuCrossPart::R_e_Gamma(), TMuCrossPart::R_e_Gamma_t(), TMuCrossPart::R_e_mu_Gamma_t(), TMuCrossPart::R_f_Gamma(), TPiCrossPart::R_Gamma(), TPiCrossPart::R_Gamma_kuraev_eidelman(), TPiCrossPart::R_Gamma_t(), TEPCrossPart::RGamma(), TEPCrossPart::RGamma_kuraev_eidelman(), TEPCrossPart::TEPCrossPart(), TGGCrossPart::TGGCrossPart(), TMuCrossPart::TMuCrossPart(), TPiCrossPart::TPiCrossPart(), TEPCrossPart::~TEPCrossPart(), TGGCrossPart::~TGGCrossPart(), TMuCrossPart::~TMuCrossPart(), and TPiCrossPart::~TPiCrossPart().
bool TVCrossPart::fHardPhoton [protected] |
Definition at line 12 of file TVCrossPart.h.
Referenced by TPiCrossPart::GetValue(), TMuCrossPart::GetValue(), TGGCrossPart::GetValue(), TEPCrossPart::GetValue(), SetHardPhoton(), TEPCrossPart::TEPCrossPart(), TGGCrossPart::TGGCrossPart(), TMuCrossPart::TMuCrossPart(), and TPiCrossPart::TPiCrossPart().
bool TVCrossPart::fNoFSR [protected] |
Definition at line 14 of file TVCrossPart.h.
Referenced by TPiCrossPart::GetValue(), TMuCrossPart::GetValue(), TMuCrossPart::R_e_Gamma(), TPiCrossPart::R_Gamma(), TPiCrossPart::R_Gamma_t(), SetNoFSR(), TGGCrossPart::TGGCrossPart(), TKnCrossPart::TKnCrossPart(), TMuCrossPart::TMuCrossPart(), and TPiCrossPart::TPiCrossPart().
unsigned int TVCrossPart::fNPart [protected] |
Definition at line 9 of file TVCrossPart.h.
Referenced by GetNPart(), TEPCrossPart::TEPCrossPart(), TGGCrossPart::TGGCrossPart(), TMuCrossPart::TMuCrossPart(), and TPiCrossPart::TPiCrossPart().
bool TVCrossPart::fZeroVP [protected] |
Definition at line 13 of file TVCrossPart.h.
Referenced by BornCrossSection(), TPiCrossPart::Init(), TMuCrossPart::Init(), TEPCrossPart::Init(), SetDefaultVP(), SetZeroVP(), TEPCrossPart::TEPCrossPart(), TMuCrossPart::TMuCrossPart(), and TPiCrossPart::TPiCrossPart().