Jpp  master_rocky-43-ge265d140c
the software that should make you happy
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
JPHYSICS::JRadiation Class Reference

Auxiliary class for the calculation of the muon radiative cross sections. More...

#include <JRadiation.hh>

Inheritance diagram for JPHYSICS::JRadiation:
JPHYSICS::JRadiationFunction

Public Member Functions

virtual ~JRadiation ()
 Virtual desctructor. More...
 
 JRadiation (const double z, const double a, const int integrsteps, const double eminBrems, const double eminEErad, const double eminGNrad)
 Constructor. More...
 
double SigmaEErad (const double E, const double eps) const
 Pair production cross section. More...
 
virtual double TotalCrossSectionEErad (const double E) const
 Pair production cross section. More...
 
double TotalCrossSectionBrems (const double E) const
 Bremsstrahlung cross section. More...
 
virtual double SigmaGNrad (const double E, const double eps) const
 Photo-nuclear cross section. More...
 
virtual double TotalCrossSectionGNrad (const double E) const
 Photo-nuclear cross section. More...
 
double EfromBrems (const double E) const
 Bremsstrahlung shower energy. More...
 
double ThetaRMSfromBrems (const double E, const double v) const
 Get RMS of scattering angle for Bremsstrahlung. More...
 
double EfromEErad (const double E) const
 Pair production shower energy. More...
 
double ThetaRMSfromEErad (const double E, const double v) const
 Get RMS of scattering angle for pair production. More...
 
double EfromGNrad (const double E) const
 Photo-nuclear shower energy. More...
 
double ThetaRMSfromGNrad (const double E, const double v) const
 Get RMS of scattering angle for photo-nuclear shower. More...
 
virtual double CalculateACoeff (double E) const
 Ionization a parameter. More...
 

Protected Member Functions

double GofZEvrho (const double E, const double v, const double r) const
 
virtual double IntegralofG (const double E, const double eps) const
 

Static Protected Member Functions

static double sigmaGammaPparam (const double eps)
 
static double PhiofEofepsparam (const double E, const double eps)
 
static double le ()
 
static double r0 ()
 
static double Astar ()
 
static double B ()
 
static double BP ()
 

Protected Attributes

const double Z
 
const double A
 
const double Dn
 
const double DnP
 
const int steps
 
const double EminBrems
 
const double EminEErad
 
const double EminGNrad
 

Detailed Description

Auxiliary class for the calculation of the muon radiative cross sections.

Author
P. Kooijman

Bremsstrahlung and pair production cross sections are taken from Particle Data Group.

Gamma-nucleon cross section: Phys. Lett. B\ Vol. 697-3 (2011) 184-193.

Definition at line 36 of file JRadiation.hh.

Constructor & Destructor Documentation

◆ ~JRadiation()

virtual JPHYSICS::JRadiation::~JRadiation ( )
inlinevirtual

Virtual desctructor.

Definition at line 42 of file JRadiation.hh.

43  {}

◆ 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
znumber of protons
anumber of nucleons
integrstepsnumber of integration steps
eminBremsenergy threshold Bremsstrahlung [GeV]
eminEEradenergy threshold pair production [GeV]
eminGNradenergy threshold photo-production [GeV]

Definition at line 56 of file JRadiation.hh.

61  :
62  Z(z),
63  A(a),
64  Dn (1.54*pow(A,0.27)),
65  DnP (pow(Dn,(1-1/Z))),
66  steps(integrsteps),
67  EminBrems(eminBrems),
68  EminEErad(eminEErad),
69  EminGNrad(eminGNrad)
70  {}
const double EminBrems
Definition: JRadiation.hh:496
const double DnP
Definition: JRadiation.hh:494
const double EminEErad
Definition: JRadiation.hh:497
const double EminGNrad
Definition: JRadiation.hh:498
const double a
Definition: JQuadrature.cc:42
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:97

Member Function Documentation

◆ SigmaEErad()

double JPHYSICS::JRadiation::SigmaEErad ( const double  E,
const double  eps 
) const
inline

Pair production cross section.

Parameters
Emuon energy [GeV]
epsshower energy [GeV]
Returns
cross section [m^2/g]

Definition at line 80 of file JRadiation.hh.

82  {
83  //routine to calculate dsigma/de in cm^2/GeV for radiating a photon of energy eps
84 
85  if(eps<4.*MASS_ELECTRON)return 0.;
86  if(eps>E-0.75*exp(1.0)*pow(Z,1./3.)) return 0.;
87  double zeta;
88  if(E<35.*MASS_MUON)
89  {
90  zeta = 0.;
91  }
92  else
93  {
94  zeta = (0.073*log((E/MASS_MUON)/(1.+1.95e-5*pow(Z,2./3.)*E/MASS_MUON))-0.26);
95  if(zeta<0.)
96  {
97  zeta=0.;
98  }
99  else
100  {
101  zeta = zeta/(0.058*log((E/MASS_MUON)/(1.+5.3e-5*pow(Z,1./3.)*E/MASS_MUON))-0.14);
102  }
103  }
104  double integ = IntegralofG(E,eps);
105  //cout<< eps<<" integ "<< integ<<endl;
106  return integ*(4/(3.*M_PI))*(Z*(Z+zeta)/A)*AVOGADRO*pow((ALPHA_ELECTRO_MAGNETIC*r0()),2.)*(1-eps/E)/eps;
107  }
virtual double IntegralofG(const double E, const double eps) const
Definition: JRadiation.hh:446
static double r0()
Definition: JRadiation.hh:486
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant.
static const double MASS_MUON
muon mass [GeV]
static const double MASS_ELECTRON
electron mass [GeV]
static const double AVOGADRO
Avogadro's number.

◆ TotalCrossSectionEErad()

virtual double JPHYSICS::JRadiation::TotalCrossSectionEErad ( const double  E) const
inlinevirtual

Pair production cross section.

Parameters
Emuon energy [GeV]
Returns
cross section [m^2/g]

Reimplemented in JPHYSICS::JRadiationFunction.

Definition at line 116 of file JRadiation.hh.

117  {
118  //cout<<" entering TotcrsecEErad"<<endl;
119  // radiation goes approx as 1/E so sample in log E
120  // calculate the total cross section as S(dsigma/de)*de
121  // start at E and go backwards for precision
122  double sum(0.);
123  double dle = log(E/EminEErad)/steps;
124  //cout << "dle "<< dle<<endl;
125  for(int i=0;i<steps+1;i++)
126  {
127  double factor = 1.0;
128  if(i==0 || i==steps)factor=0.5;
129  //cout<<"i"<<i<<endl;
130  double eps = EminEErad*exp(i*dle);sum += factor*eps*SigmaEErad( E, eps);
131  //cout<<"eps "<<eps<<" sum "<<sum<<endl;
132  }
133  return sum*dle;
134  }
double SigmaEErad(const double E, const double eps) const
Pair production cross section.
Definition: JRadiation.hh:80

◆ TotalCrossSectionBrems()

double JPHYSICS::JRadiation::TotalCrossSectionBrems ( const double  E) const
inline

Bremsstrahlung cross section.

Parameters
Emuon energy [GeV]
Returns
cross section [m^2/g]

Definition at line 144 of file JRadiation.hh.

145  {
146  // double delta = (MASS_MUON*MASS_MUON*eps)/(2*E*(E-eps));
147  double delta = (MASS_MUON*MASS_MUON)/(2*E);
148  //double v = eps/E;
149  double Phin = log((B()*pow(Z,-1./3.)*(MASS_MUON+delta*(DnP*sqrt(exp(1.0))-2.)))/(DnP*(MASS_ELECTRON+delta*sqrt(exp(1.0))*B()*pow(Z,-1./3.))));
150  if(Phin<0.)Phin=0.;
151  double Phie = log((BP()*pow(Z,-2./3.)*MASS_MUON)/((1+delta*MASS_MUON/(MASS_ELECTRON*MASS_ELECTRON*sqrt(exp(1.0))))*(MASS_ELECTRON+delta*sqrt(exp(1.0))*BP()*pow(Z,-2./3.))));
152  if(Phie<0.)Phie=0.;
153  //if(eps>E/(1+MASS_MUON*MASS_MUON/(2.*MASS_ELECTRON*E)))Phie=0.;
154  double sig = (16./3.)*ALPHA_ELECTRO_MAGNETIC*AVOGADRO*pow((MASS_ELECTRON/MASS_MUON*r0()),2.0)*Z*(Z*Phin+Phie)/(A);
155  double epsint = log((E-MASS_MUON)/EminBrems)-(E-MASS_MUON-EminBrems)/E+0.375*(pow(E-MASS_MUON,2.)-pow(EminBrems,2.0))/pow(E,2.0);
156  return epsint*sig;//"cross section" in m^2/g multiplied by density and inverted gives mean free path
157  }
static double B()
Definition: JRadiation.hh:488
static double BP()
Definition: JRadiation.hh:489

◆ SigmaGNrad()

virtual double JPHYSICS::JRadiation::SigmaGNrad ( const double  E,
const double  eps 
) const
inlinevirtual

Photo-nuclear cross section.

Parameters
Emuon energy [GeV]
epsshower energy [GeV]
Returns
cross section [m^2/g]

Definition at line 167 of file JRadiation.hh.

168  {
169 
170  //minimum radiated energy is 0.2 GeV, not very critical formulae become invalid for very much lower
171  //result is given in m^2/g GeV
172  if (eps<0.2) return 0.;
173  if (eps>E-MASS_PROTON) return 0.;
174  double Aeff;
175  if (A==1)
176  {Aeff = 1.;}
177  else
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.);
180  double Psiofeps = ALPHA_ELECTRO_MAGNETIC/PI*Aeff*AVOGADRO/A*sigmaGammaPofeps/eps;
181  double Denom = 1+eps/LAMBDA*(1+LAMBDA/(2*MASS_PROTON)+eps/LAMBDA);
182  double epsoverE = eps/E;
183  double Numerator = E * E * (1 - epsoverE) / (MASS_MUON * MASS_MUON) * (1 + MASS_MUON * MASS_MUON * epsoverE * epsoverE / (LAMBDA * LAMBDA * (1 - epsoverE)));
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);
186  //cout<<"PhiofEofeps "<<PhiofEofeps<<" Psiofeps "<<Psiofeps<<endl;
187  return Psiofeps*PhiofEofeps;
188  }
static const double PI
Mathematical constants.
static const double MASS_PROTON
proton mass [GeV]
Auxiliary data structure to convert (lambda) function to printable object.
Definition: JManip.hh:726

◆ TotalCrossSectionGNrad()

virtual double JPHYSICS::JRadiation::TotalCrossSectionGNrad ( const double  E) const
inlinevirtual

Photo-nuclear cross section.

Parameters
Emuon energy [GeV]
Returns
cross section [m^2/g]

Reimplemented in JPHYSICS::JRadiationFunction.

Definition at line 197 of file JRadiation.hh.

198  {
199  double epsmin = 0.2;
200  double epsmax = E-MASS_PROTON/2;
201  double sum(0.);
202  double dle = log(epsmax/epsmin)/steps;
203  for(int i=0;i<steps+1;i++)
204  {
205  float factor = 1.0;
206  if(i==0 || i==steps)factor=0.5;
207  //cout<<"i"<<i<<endl;
208  double eps = epsmin*exp(i*dle);sum += factor*eps*SigmaGNrad( E, eps);
209  //cout<<"eps "<<eps<<" sum "<<sum<<endl;
210  }
211 
212  return sum*dle;
213  }
virtual double SigmaGNrad(const double E, const double eps) const
Photo-nuclear cross section.
Definition: JRadiation.hh:167

◆ EfromBrems()

double JPHYSICS::JRadiation::EfromBrems ( const double  E) const
inline

Bremsstrahlung shower energy.

Parameters
Emuon energy [GeV]
Returns
shower energy [GeV]

Definition at line 222 of file JRadiation.hh.

223  {
224  //double EminBrems(0.01);
225  //generate according to 1/k from minimum energy to E
226  double Er = 0.0;
227  for (int i = 1000; i != 0; --i) {
228  Er = EminBrems*exp(gRandom->Rndm()*log(E/EminBrems));
229  //check on the extra factor (1-v+3/4v^2)
230  if(gRandom->Rndm()<(1.-Er/E+0.75*pow(Er/E,2))) break;
231  }
232  return Er;
233  }

◆ ThetaRMSfromBrems()

double JPHYSICS::JRadiation::ThetaRMSfromBrems ( const double  E,
const double  v 
) const
inline

Get RMS of scattering angle for Bremsstrahlung.

Parameters
Emuon energy [GeV]
venergy loss fraction
Returns
angle [rad]

Definition at line 243 of file JRadiation.hh.

244  {
245  using namespace std;
246 
247  const double precision = 1.0e-3;
248 
249  const double k1 = 0.092 * pow(E, -1.0/3.0);
250  const double k2 = 0.052 * pow(E, -1.0) * pow(Z, -1.0/4.0);
251  const double k3 = 0.220 * pow(E, -0.92);
252  const double k4 = 0.260 * pow(E, -0.91);
253 
254  double rms = 0.0;
255 
256  if (v <= 0.5) {
257 
258  rms = max(min(k1*sqrt(v), k2), k3*v);
259 
260  } else {
261 
262  const double n = 0.81 * sqrt(E) / (sqrt(E) + 1.8);
263 
264  double k5 = 0.0;
265 
266  for (double vmin = 0.5, vmax = 1.0; ; ) {
267 
268  const double v = 0.5 * (vmin + vmax);
269 
270  const double y = k4 * pow(v, 1.0 + n) * pow(1.0 - v, -n);
271 
272  if (abs(y - 0.2) <= precision) {
273 
274  k5 = y * pow(1.0 - v, 1.0/2.0);
275 
276  break;
277  }
278 
279  if (y < 0.2)
280  vmin = v;
281  else
282  vmax = v;
283  }
284 
285  rms = k4 * pow(v, 1.0 + n) * pow(1.0 - v, -n);
286 
287  if (rms >= 0.2) {
288  rms = k5 * pow(1.0 - v, -1.0/2.0);
289  }
290  }
291 
292  return rms;
293  }
const int n
Definition: JPolint.hh:786
data_type v[N+1][M+1]
Definition: JPolint.hh:866
Definition: JSTDTypes.hh:14

◆ EfromEErad()

double JPHYSICS::JRadiation::EfromEErad ( const double  E) const
inline

Pair production shower energy.

Parameters
Emuon energy [GeV]
Returns
shower energy [GeV]

Definition at line 302 of file JRadiation.hh.

303  {
304  //generate according to 1/k from minimum energy to E
305 
306  const double eps =0.2;
307  const double IntGmax = IntegralofG(E,eps)*2.0;
308 
309  double Er = 0.0;
310  for (int i = 1000; i != 0; --i)
311  {
312  Er = EminEErad*exp(gRandom->Rndm()*log(E/EminEErad));
313  //check on the extra factor, (1-v) and IntofG
314  double factor = (1.-Er/E)*IntegralofG(E,Er)/IntGmax;
315  if(gRandom->Rndm()<factor) break;
316  }
317  return Er;
318  }

◆ ThetaRMSfromEErad()

double JPHYSICS::JRadiation::ThetaRMSfromEErad ( const double  E,
const double  v 
) const
inline

Get RMS of scattering angle for pair production.

Parameters
Emuon energy [GeV]
venergy loss fraction
Returns
angle [rad]

Definition at line 328 of file JRadiation.hh.

329  {
330  using namespace std;
331 
332  const double a = 8.9e-4;
333  const double b = 1.5e-5;
334  const double c = 0.032;
335  const double d = 1.0;
336  const double e = 0.1;
337 
338  const double n = -1.0;
339 
340  const double u = v - 2.0*MASS_ELECTRON/E;
341 
342  if (u > 0.0)
343  return (2.3 + log(E)) * (1.0/E) * pow(1.0 - v, n) * (u*u) * (1.0/(v*v)) *
344  min(a * pow(v, 1.0/4.0) * (1.0 + b*E) + c*v/(v+d), e);
345  else
346  return 0.0;
347  }
double u[N+1]
Definition: JPolint.hh:865

◆ EfromGNrad()

double JPHYSICS::JRadiation::EfromGNrad ( const double  E) const
inline

Photo-nuclear shower energy.

Parameters
Emuon energy [GeV]
Returns
shower energy [GeV]

Definition at line 356 of file JRadiation.hh.

357  {
358  //generate according to 1/k from minimum energy to E
359 
360  double cmax = sigmaGammaPparam(EminGNrad);
361  if (cmax < sigmaGammaPparam(E))
362  cmax=sigmaGammaPparam(E);
363 
364  double Pmax = PhiofEofepsparam(E,EminGNrad);
365 
366  double Er = 0.0;
367  for (int i = 1000; i != 0; --i) {
368  Er = EminGNrad*exp(gRandom->Rndm()*log(E/EminGNrad));
369  const double factor = PhiofEofepsparam(E,Er)*sigmaGammaPparam(Er)/(cmax*Pmax);
370  if (gRandom->Rndm() < factor) return Er;
371  }
372 
373  return Er;
374  }
static double sigmaGammaPparam(const double eps)
Definition: JRadiation.hh:469
static double PhiofEofepsparam(const double E, const double eps)
Definition: JRadiation.hh:474

◆ ThetaRMSfromGNrad()

double JPHYSICS::JRadiation::ThetaRMSfromGNrad ( const double  E,
const double  v 
) const
inline

Get RMS of scattering angle for photo-nuclear shower.

Parameters
Emuon energy [GeV]
venergy loss fraction
Returns
angle [rad]

Definition at line 384 of file JRadiation.hh.

385  {
386  return 0.0;
387  }

◆ CalculateACoeff()

virtual double JPHYSICS::JRadiation::CalculateACoeff ( double  E) const
inlinevirtual

Ionization a parameter.

Parameters
Emuon energy [GeV]
Returns
ionization coefficient [GeV*m^2/g]

Reimplemented in JPHYSICS::JRadiationFunction.

Definition at line 396 of file JRadiation.hh.

397  {
398  const double E2 = E*E;
399  const double beta = sqrt(E2 - MASS_MUON*MASS_MUON) / E;
400  const double beta2 = beta*beta;
401  const double gamma = E/MASS_MUON;
402  const double gamma2 = gamma*gamma;
403 
404  const double p2 = E2 - MASS_MUON*MASS_MUON;
405  const double EMaxT = 2.*MASS_ELECTRON*p2 / (MASS_ELECTRON*MASS_ELECTRON + MASS_MUON*MASS_MUON + 2.*MASS_ELECTRON*E);
406  const double EMaxT2 = EMaxT*EMaxT;
407  const JSter& coeff = getSterCoefficient(Z);
408  const double I2 = coeff.I*coeff.I; // in GeV^2
409  const double X = log10(beta*gamma);
410 
411  double delta = 0.0;
412 
413  if (coeff.X0 < X && X < coeff.X1) {
414  delta = 4.6052*X + coeff.a*pow(coeff.X1-X,coeff.m) + coeff.C;
415  }
416 
417  if (X > coeff.X1) {
418  delta = 4.6052*X + coeff.C;
419  }
420 
421  double acoeff = (2*PI*AVOGADRO*ALPHA_ELECTRO_MAGNETIC*ALPHA_ELECTRO_MAGNETIC*le()*le())*Z/A*(MASS_ELECTRON/beta2)*(log(2.*MASS_ELECTRON*beta2*gamma2*EMaxT/I2)-2.*beta2+0.25*(EMaxT2/E2)-delta);
422 
423  return acoeff;
424  }
static double le()
Definition: JRadiation.hh:485
static JSterCoefficient getSterCoefficient
Function object for Ster coefficients.
Definition: JIonization.hh:82
Struct for the Sternheimer coefficients.
Definition: JIonization.hh:23
double C
Correction density parameter
Definition: JIonization.hh:29
double m
Correction density parameter.
Definition: JIonization.hh:28
double I
Ionization potentian [GeV].
Definition: JIonization.hh:24
double X1
Correction density parameter.
Definition: JIonization.hh:26
double a
Correction density parameter.
Definition: JIonization.hh:27
double X0
Correction density parameter.
Definition: JIonization.hh:25

◆ GofZEvrho()

double JPHYSICS::JRadiation::GofZEvrho ( const double  E,
const double  v,
const double  r 
) const
inlineprotected

Definition at line 427 of file JRadiation.hh.

430  {
431  const double ksi = MASS_MUON*MASS_MUON*v*v*(1-r*r)/(4*MASS_ELECTRON*MASS_ELECTRON*(1-v));//
432  const double b = v*v/(2*(1-v));//
433  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);
434  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);
435  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));
436  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);
437  const double Le = log((Astar()*pow(Z,-1./3.)*sqrt((1+ksi)*(1+Ye)))/
438  (1.+(2.*MASS_ELECTRON*sqrt(exp(1.))*Astar()*pow(Z,-1./3.)*(1+ksi)*(1+Ye))/(E*v*(1-r*r))));
439  const double Lm = log(((MASS_MUON/MASS_ELECTRON)*Astar()*pow(Z,-1./3.)*sqrt((1.+1./ksi)*(1.+Ym)))/
440  (1.+(2.*MASS_ELECTRON*sqrt(exp(1.))*Astar()*pow(Z,-1./3.)*(1+ksi)*(1+Ym))/(E*v*(1-r*r))));
441  double Phie = Be*Le; if(Phie<0.)Phie=0.;
442  double Phim = Bm*Lm; if(Phim<0.)Phim=0.;
443  return Phie+(MASS_ELECTRON*MASS_ELECTRON/(MASS_MUON*MASS_MUON))*Phim;
444  }
static double Astar()
Definition: JRadiation.hh:487
data_type r[M+1]
Definition: JPolint.hh:868

◆ IntegralofG()

virtual double JPHYSICS::JRadiation::IntegralofG ( const double  E,
const double  eps 
) const
inlineprotectedvirtual

Reimplemented in JPHYSICS::JRadiationFunction.

Definition at line 446 of file JRadiation.hh.

448  {
449  const double EP = E-eps;
450  const double v = eps/E;
451  const double tmin = log((4*MASS_ELECTRON/eps+12*pow(MASS_MUON,2)/(E*EP)*(1-4*MASS_ELECTRON/eps))
452  /(1+(1-6*pow(MASS_MUON,2)/(E*EP))*sqrt(1-4*MASS_ELECTRON/eps)));
453 
454  if (tmin < 0.0) {
455  const double dt = -tmin/steps;
456  double sum(0.);
457  for (int i = 0;i<steps+1;i++)
458  {
459  double fac = 1.0;if(i==0 || i==steps)fac=0.5;
460  double t = tmin+i*dt;
461  double r = 1.-exp(t);
462  sum+=fac*GofZEvrho(E,v,r)*exp(t);
463  }
464  return sum*dt;
465  } else
466  return 0.0;
467  }
double GofZEvrho(const double E, const double v, const double r) const
Definition: JRadiation.hh:427

◆ sigmaGammaPparam()

static double JPHYSICS::JRadiation::sigmaGammaPparam ( const double  eps)
inlinestaticprotected

Definition at line 469 of file JRadiation.hh.

470  {
471  return (49.2 + 11.1 * log(eps) + 151.8/sqrt(eps));
472  }

◆ PhiofEofepsparam()

static double JPHYSICS::JRadiation::PhiofEofepsparam ( const double  E,
const double  eps 
)
inlinestaticprotected

Definition at line 474 of file JRadiation.hh.

475  {
476  const double Denom = 1+eps/LAMBDA*(1+LAMBDA/(2*MASS_PROTON)+eps/LAMBDA);
477  const double epsoverE = eps/E;
478  const double Numerator = E * E * (1 - epsoverE) / (MASS_MUON * MASS_MUON) * (1 + MASS_MUON * MASS_MUON * epsoverE * epsoverE /
479  (LAMBDA * LAMBDA * (1 - epsoverE)));
480  const double Factor = 1 - epsoverE + epsoverE * epsoverE / 2 * (1 + 2 * MASS_MUON * MASS_MUON / (LAMBDA * LAMBDA));
481  return (epsoverE - 1 + Factor * log (Numerator / Denom));
482  }

◆ le()

static double JPHYSICS::JRadiation::le ( )
inlinestaticprotected

Definition at line 485 of file JRadiation.hh.

485 { return 3.8616E-13;}

◆ r0()

static double JPHYSICS::JRadiation::r0 ( )
inlinestaticprotected

Definition at line 486 of file JRadiation.hh.

486 { return 2.817940e-15; }

◆ Astar()

static double JPHYSICS::JRadiation::Astar ( )
inlinestaticprotected

Definition at line 487 of file JRadiation.hh.

487 { return 183.0; }

◆ B()

static double JPHYSICS::JRadiation::B ( )
inlinestaticprotected

Definition at line 488 of file JRadiation.hh.

488 { return 183.0; }

◆ BP()

static double JPHYSICS::JRadiation::BP ( )
inlinestaticprotected

Definition at line 489 of file JRadiation.hh.

489 { return 1429.0; }

Member Data Documentation

◆ Z

const double JPHYSICS::JRadiation::Z
protected

Definition at line 491 of file JRadiation.hh.

◆ A

const double JPHYSICS::JRadiation::A
protected

Definition at line 492 of file JRadiation.hh.

◆ Dn

const double JPHYSICS::JRadiation::Dn
protected

Definition at line 493 of file JRadiation.hh.

◆ DnP

const double JPHYSICS::JRadiation::DnP
protected

Definition at line 494 of file JRadiation.hh.

◆ steps

const int JPHYSICS::JRadiation::steps
protected

Definition at line 495 of file JRadiation.hh.

◆ EminBrems

const double JPHYSICS::JRadiation::EminBrems
protected

Definition at line 496 of file JRadiation.hh.

◆ EminEErad

const double JPHYSICS::JRadiation::EminEErad
protected

Definition at line 497 of file JRadiation.hh.

◆ EminGNrad

const double JPHYSICS::JRadiation::EminGNrad
protected

Definition at line 498 of file JRadiation.hh.


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