Auxiliary class for the calculation of the muon radiative cross sections.
More...
#include <JRadiation.hh>
|
double | GofZEvrho (const double E, const double v, const double r) const |
|
virtual double | IntegralofG (const double E, const double eps) const |
|
Auxiliary class for the calculation of the muon radiative cross sections.
- Author
- P. Kooijman
Definition at line 39 of file JRadiation.hh.
◆ ~JRadiation()
virtual JPHYSICS::JRadiation::~JRadiation |
( |
| ) |
|
|
inlinevirtual |
◆ JRadiation()
JPHYSICS::JRadiation::JRadiation |
( |
const double |
z, |
|
|
const double |
a, |
|
|
const int |
integrsteps, |
|
|
const double |
eminBrems, |
|
|
const double |
eminEErad, |
|
|
const double |
eminGNrad |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
z | number of protons |
a | number of nucleons |
integrsteps | number of integration steps |
eminBrems | energy threshold Bremsstrahlung [GeV] |
eminEErad | energy threshold pair production [GeV] |
eminGNrad | energy threshold photo-production [GeV] |
Definition at line 59 of file JRadiation.hh.
67 Dn (1.54*pow(
A,0.27)),
◆ SigmaEErad()
double JPHYSICS::JRadiation::SigmaEErad |
( |
const double |
E, |
|
|
const double |
eps |
|
) |
| const |
|
inline |
Pair production cross section.
- Parameters
-
E | muon energy [GeV] |
eps | shower energy [GeV] |
- Returns
- cross section [m^2/g]
Definition at line 83 of file JRadiation.hh.
88 if(eps>E-0.75*exp(1.0)*pow(
Z,1./3.))
return 0.;
◆ TotalCrossSectionEErad()
virtual double JPHYSICS::JRadiation::TotalCrossSectionEErad |
( |
const double |
E | ) |
const |
|
inlinevirtual |
◆ TotalCrossSectionBrems()
double JPHYSICS::JRadiation::TotalCrossSectionBrems |
( |
const double |
E | ) |
const |
|
inline |
Bremsstrahlung cross section.
- Parameters
-
- Returns
- cross section [m^2/g]
Definition at line 145 of file JRadiation.hh.
◆ SigmaGNrad()
virtual double JPHYSICS::JRadiation::SigmaGNrad |
( |
const double |
E, |
|
|
const double |
eps |
|
) |
| const |
|
inlinevirtual |
Photo-nuclear cross section.
- Parameters
-
E | muon energy [GeV] |
eps | shower energy [GeV] |
- Returns
- cross section [m^2/g]
Definition at line 168 of file JRadiation.hh.
172 if (eps<0.2)
return 0.;
178 {Aeff = (0.22*
A + 0.78 * pow(
A,0.89));}
179 double sigmaGammaPofeps = (49.2 + 11.1 * log(eps) + 151.8/sqrt(eps))*pow(10,-34.);
181 double Denom = 1+eps/LAMBDA*(1+LAMBDA/(2*
MASS_PROTON)+eps/LAMBDA);
182 double epsoverE = eps/E;
184 double Factor = 1 - epsoverE + epsoverE * epsoverE / 2 * (1 + 2 *
MASS_MUON *
MASS_MUON / (LAMBDA * LAMBDA));
185 double PhiofEofeps = epsoverE - 1 + Factor * log (Numerator / Denom);
187 return Psiofeps*PhiofEofeps;
◆ TotalCrossSectionGNrad()
virtual double JPHYSICS::JRadiation::TotalCrossSectionGNrad |
( |
const double |
E | ) |
const |
|
inlinevirtual |
Photo-nuclear cross section.
- Parameters
-
- Returns
- cross section [m^2/g]
Reimplemented in JPHYSICS::JRadiationFunction.
Definition at line 197 of file JRadiation.hh.
202 double dle = log(epsmax/epsmin)/
steps;
203 for(
int i=0;i<
steps+1;i++)
206 if(i==0 || i==
steps)factor=0.5;
208 double eps = epsmin*exp(i*dle);sum += factor*eps*
SigmaGNrad( E, eps);
◆ EfromBrems()
double JPHYSICS::JRadiation::EfromBrems |
( |
const double |
E | ) |
const |
|
inline |
Bremsstrahlung shower energy.
- Parameters
-
- Returns
- shower energy [GeV]
Definition at line 222 of file JRadiation.hh.
227 for (
int i = 1000; i != 0; --i) {
230 if(gRandom->Rndm()<(1.-Er/E+0.75*pow(Er/E,2)))
break;
◆ EfromEErad()
double JPHYSICS::JRadiation::EfromEErad |
( |
const double |
E | ) |
const |
|
inline |
Pair production shower energy.
- Parameters
-
- Returns
- shower energy [GeV]
Definition at line 242 of file JRadiation.hh.
246 const double eps =0.2;
250 for (
int i = 1000; i != 0; --i)
254 double factor = (1.-Er/E)*
IntegralofG(E,Er)/IntGmax;
255 if(gRandom->Rndm()<factor)
break;
◆ EfromGNrad()
double JPHYSICS::JRadiation::EfromGNrad |
( |
const double |
E | ) |
const |
|
inline |
Photo-nuclear shower energy.
- Parameters
-
- Returns
- shower energy [GeV]
Definition at line 266 of file JRadiation.hh.
277 for (
int i = 1000; i != 0; --i) {
280 if (gRandom->Rndm() < factor)
return Er;
◆ GofZEvrho()
double JPHYSICS::JRadiation::GofZEvrho |
( |
const double |
E, |
|
|
const double |
v, |
|
|
const double |
r |
|
) |
| const |
|
inlineprotected |
Definition at line 288 of file JRadiation.hh.
293 const double b =
v*
v/(2*(1-
v));
294 const double Be = ((2+
r*
r)*(1+b)+ksi*(3+
r*
r))*log(1+1/ksi)+(1-
r*
r-b)/(1+ksi)-(3+
r*
r);
295 const double Bm = ((1+
r*
r)*(1+3*b/2)-(1+2*b)*(1-
r*
r)/ksi)*log(1+ksi)+ksi*(1-
r*
r-b)/(1+ksi)+(1+2*b)*(1-
r*
r);
296 const double Ye = (5-
r*
r+4*b*(1+
r*
r))/(2*(1+3*b)*log(3+1/ksi)-
r*
r-2*b*(2-
r*
r));
297 const double Ym = (4+
r*
r+3*b*(1+
r*
r))/((1+
r*
r)*(1.5+2*b)*log(3+ksi)+1-1.5*
r*
r);
298 const double Le = log((
Astar()*pow(
Z,-1./3.)*sqrt((1+ksi)*(1+Ye)))/
302 double Phie = Be*Le;
if(Phie<0.)Phie=0.;
303 double Phim = Bm*Lm;
if(Phim<0.)Phim=0.;
◆ IntegralofG()
virtual double JPHYSICS::JRadiation::IntegralofG |
( |
const double |
E, |
|
|
const double |
eps |
|
) |
| const |
|
inlineprotectedvirtual |
Reimplemented in JPHYSICS::JRadiationFunction.
Definition at line 307 of file JRadiation.hh.
310 const double EP = E-eps;
311 const double v = eps/E;
316 const double dt = -tmin/
steps;
318 for (
int i = 0;i<
steps+1;i++)
320 double fac = 1.0;
if(i==0 || i==
steps)fac=0.5;
321 double t = tmin+i*dt;
322 double r = 1.-exp(t);
◆ sigmaGammaPparam()
static double JPHYSICS::JRadiation::sigmaGammaPparam |
( |
const double |
eps | ) |
|
|
inlinestaticprotected |
Definition at line 330 of file JRadiation.hh.
332 return (49.2 + 11.1 * log(eps) + 151.8/sqrt(eps));
◆ PhiofEofepsparam()
static double JPHYSICS::JRadiation::PhiofEofepsparam |
( |
const double |
E, |
|
|
const double |
eps |
|
) |
| |
|
inlinestaticprotected |
Definition at line 335 of file JRadiation.hh.
337 const double Denom = 1+eps/LAMBDA*(1+LAMBDA/(2*
MASS_PROTON)+eps/LAMBDA);
338 const double epsoverE = eps/E;
340 (LAMBDA * LAMBDA * (1 - epsoverE)));
341 const double Factor = 1 - epsoverE + epsoverE * epsoverE / 2 * (1 + 2 *
MASS_MUON *
MASS_MUON / (LAMBDA * LAMBDA));
342 return (epsoverE - 1 + Factor * log (Numerator / Denom));
◆ r0()
static double JPHYSICS::JRadiation::r0 |
( |
| ) |
|
|
inlinestaticprotected |
◆ Astar()
static double JPHYSICS::JRadiation::Astar |
( |
| ) |
|
|
inlinestaticprotected |
◆ B()
static double JPHYSICS::JRadiation::B |
( |
| ) |
|
|
inlinestaticprotected |
◆ BP()
static double JPHYSICS::JRadiation::BP |
( |
| ) |
|
|
inlinestaticprotected |
const double JPHYSICS::JRadiation::Z |
|
protected |
const double JPHYSICS::JRadiation::A |
|
protected |
◆ Dn
const double JPHYSICS::JRadiation::Dn |
|
protected |
◆ DnP
const double JPHYSICS::JRadiation::DnP |
|
protected |
◆ steps
const int JPHYSICS::JRadiation::steps |
|
protected |
◆ EminBrems
const double JPHYSICS::JRadiation::EminBrems |
|
protected |
◆ EminEErad
const double JPHYSICS::JRadiation::EminEErad |
|
protected |
◆ EminGNrad
const double JPHYSICS::JRadiation::EminGNrad |
|
protected |
The documentation for this class was generated from the following file: