Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 EfromEErad (const double E) const
 Pair production shower energy. More...
 
double EfromGNrad (const double E) const
 Photo-nuclear shower energy. More...
 
virtual double CalculateACoeff (double Energy) 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

Definition at line 31 of file JRadiation.hh.

Constructor & Destructor Documentation

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

Virtual desctructor.

Definition at line 37 of file JRadiation.hh.

38  {}
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 51 of file JRadiation.hh.

57  :
58 
59  Z(z),
60  A(a),
61  Dn (1.54*pow(A,0.27)),
62  DnP (pow(Dn,(1-1/Z))),
63  steps(integrsteps),
64  EminBrems(eminBrems),
65  EminEErad(eminEErad),
66  EminGNrad(eminGNrad)
67  {}
const double EminEErad
Definition: JRadiation.hh:390
const double DnP
Definition: JRadiation.hh:387
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:98
const double EminGNrad
Definition: JRadiation.hh:391
const double EminBrems
Definition: JRadiation.hh:389
then JCalibrateToT a
Definition: JTuneHV.sh:116

Member Function Documentation

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 77 of file JRadiation.hh.

79  {
80  //routine to calculate dsigma/de in cm^2/GeV for radiating a photon of energy eps
81 
82  if(eps<4.*MASS_ELECTRON)return 0.;
83  if(eps>E-0.75*exp(1.0)*pow(Z,1./3.)) return 0.;
84  double zeta;
85  if(E<35.*MASS_MUON)
86  {
87  zeta = 0.;
88  }
89  else
90  {
91  zeta = (0.073*log((E/MASS_MUON)/(1.+1.95e-5*pow(Z,2./3.)*E/MASS_MUON))-0.26);
92  if(zeta<0.)
93  {
94  zeta=0.;
95  }
96  else
97  {
98  zeta = zeta/(0.058*log((E/MASS_MUON)/(1.+5.3e-5*pow(Z,1./3.)*E/MASS_MUON))-0.14);
99  }
100  }
101  double integ = IntegralofG(E,eps);
102  //cout<< eps<<" integ "<< integ<<endl;
103  return integ*(4/(3.*M_PI))*(Z*(Z+zeta)/A)*AVOGADRO*pow((ALPHA_ELECTRO_MAGNETIC*r0()),2.)*(1-eps/E)/eps;
104  }
static double r0()
Definition: JRadiation.hh:379
static const double MASS_MUON
muon mass [GeV]
static const double AVOGADRO
Avogadro&#39;s number [gr^-1].
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then usage E
Definition: JMuonPostfit.sh:35
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:98
static const double MASS_ELECTRON
electron mass [GeV]
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant.
virtual double IntegralofG(const double E, const double eps) const
Definition: JRadiation.hh:339
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 113 of file JRadiation.hh.

114  {
115  //cout<<" entering TotcrsecEErad"<<endl;
116  // radiation goes approx as 1/E so sample in log E
117  // calculate the total cross section as S(dsigma/de)*de
118  // start at E and go backwards for precision
119  double sum(0.);
120  double dle = log(E/EminEErad)/steps;
121  //cout << "dle "<< dle<<endl;
122  for(int i=0;i<steps+1;i++)
123  {
124  double factor = 1.0;
125  if(i==0 || i==steps)factor=0.5;
126  //cout<<"i"<<i<<endl;
127  double eps = EminEErad*exp(i*dle);sum += factor*eps*SigmaEErad( E, eps);
128  //cout<<"eps "<<eps<<" sum "<<sum<<endl;
129  }
130  return sum*dle;
131  }
const double EminEErad
Definition: JRadiation.hh:390
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then usage E
Definition: JMuonPostfit.sh:35
double SigmaEErad(const double E, const double eps) const
Pair production cross section.
Definition: JRadiation.hh:77
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 141 of file JRadiation.hh.

142  {
143  // double delta = (MASS_MUON*MASS_MUON*eps)/(2*E*(E-eps));
144  double delta = (MASS_MUON*MASS_MUON)/(2*E);
145  //double v = eps/E;
146  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.))));
147  if(Phin<0.)Phin=0.;
148  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.))));
149  if(Phie<0.)Phie=0.;
150  //if(eps>E/(1+MASS_MUON*MASS_MUON/(2.*MASS_ELECTRON*E)))Phie=0.;
151  double sig = (16./3.)*ALPHA_ELECTRO_MAGNETIC*AVOGADRO*pow((MASS_ELECTRON/MASS_MUON*r0()),2.0)*Z*(Z*Phin+Phie)/(A);
152  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);
153  return epsint*sig;//"cross section" in m^2/g multiplied by density and inverted gives mean free path
154  }
static double r0()
Definition: JRadiation.hh:379
static double B()
Definition: JRadiation.hh:381
static const double MASS_MUON
muon mass [GeV]
const double DnP
Definition: JRadiation.hh:387
static const double AVOGADRO
Avogadro&#39;s number [gr^-1].
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then usage E
Definition: JMuonPostfit.sh:35
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:98
static const double MASS_ELECTRON
electron mass [GeV]
const double EminBrems
Definition: JRadiation.hh:389
static double BP()
Definition: JRadiation.hh:382
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant.
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 164 of file JRadiation.hh.

165  {
166 
167  //minimum radiated energy is 0.2 GeV, not very critical formulae become invalid for very much lower
168  //result is given in m^2/g GeV
169  if (eps<0.2) return 0.;
170  if (eps>E-MASS_PROTON) return 0.;
171  double Aeff;
172  if (A==1)
173  {Aeff = 1.;}
174  else
175  {Aeff = (0.22*A + 0.78 * pow(A,0.89));}
176  double sigmaGammaPofeps = (49.2 + 11.1 * log(eps) + 151.8/sqrt(eps))*pow(10,-34.);
177  double Psiofeps = ALPHA_ELECTRO_MAGNETIC/PI*Aeff*AVOGADRO/A*sigmaGammaPofeps/eps;
178  double Denom = 1+eps/LAMBDA*(1+LAMBDA/(2*MASS_PROTON)+eps/LAMBDA);
179  double epsoverE = eps/E;
180  double Numerator = E * E * (1 - epsoverE) / (MASS_MUON * MASS_MUON) * (1 + MASS_MUON * MASS_MUON * epsoverE * epsoverE / (LAMBDA * LAMBDA * (1 - epsoverE)));
181  double Factor = 1 - epsoverE + epsoverE * epsoverE / 2 * (1 + 2 * MASS_MUON * MASS_MUON / (LAMBDA * LAMBDA));
182  double PhiofEofeps = epsoverE - 1 + Factor * log (Numerator / Denom);
183  //cout<<"PhiofEofeps "<<PhiofEofeps<<" Psiofeps "<<Psiofeps<<endl;
184  return Psiofeps*PhiofEofeps;
185  }
static const double MASS_MUON
muon mass [GeV]
static const double AVOGADRO
Avogadro&#39;s number [gr^-1].
then usage E
Definition: JMuonPostfit.sh:35
Auxiliary data structure to convert (lambda) function to printable object.
Definition: JManip.hh:724
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:98
static const double PI
Mathematical constants.
static const double MASS_PROTON
proton mass [GeV]
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant.
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 194 of file JRadiation.hh.

195  {
196  double epsmin = 0.2;
197  double epsmax = E-MASS_PROTON/2;
198  double sum(0.);
199  double dle = log(epsmax/epsmin)/steps;
200  for(int i=0;i<steps+1;i++)
201  {
202  float factor = 1.0;
203  if(i==0 || i==steps)factor=0.5;
204  //cout<<"i"<<i<<endl;
205  double eps = epsmin*exp(i*dle);sum += factor*eps*SigmaGNrad( E, eps);
206  //cout<<"eps "<<eps<<" sum "<<sum<<endl;
207  }
208 
209  return sum*dle;
210  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then usage E
Definition: JMuonPostfit.sh:35
virtual double SigmaGNrad(const double E, const double eps) const
Photo-nuclear cross section.
Definition: JRadiation.hh:164
static const double MASS_PROTON
proton mass [GeV]
double JPHYSICS::JRadiation::EfromBrems ( const double  E) const
inline

Bremsstrahlung shower energy.

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

Definition at line 219 of file JRadiation.hh.

220  {
221  //double EminBrems(0.01);
222  //generate according to 1/k from minimum energy to E
223  double Er = 0.0;
224  for (int i = 1000; i != 0; --i) {
225  Er = EminBrems*exp(gRandom->Rndm()*log(E/EminBrems));
226  //check on the extra factor (1-v+3/4v^2)
227  if(gRandom->Rndm()<(1.-Er/E+0.75*pow(Er/E,2))) break;
228  }
229  return Er;
230  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then usage E
Definition: JMuonPostfit.sh:35
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:98
const double EminBrems
Definition: JRadiation.hh:389
double JPHYSICS::JRadiation::EfromEErad ( const double  E) const
inline

Pair production shower energy.

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

Definition at line 239 of file JRadiation.hh.

240  {
241  //generate according to 1/k from minimum energy to E
242 
243  const double eps =0.2;
244  const double IntGmax = IntegralofG(E,eps)*2.0;
245 
246  double Er = 0.0;
247  for (int i = 1000; i != 0; --i)
248  {
249  Er = EminEErad*exp(gRandom->Rndm()*log(E/EminEErad));
250  //check on the extra factor, (1-v) and IntofG
251  double factor = (1.-Er/E)*IntegralofG(E,Er)/IntGmax;
252  if(gRandom->Rndm()<factor) break;
253  }
254  return Er;
255  }
const double EminEErad
Definition: JRadiation.hh:390
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then usage E
Definition: JMuonPostfit.sh:35
virtual double IntegralofG(const double E, const double eps) const
Definition: JRadiation.hh:339
double JPHYSICS::JRadiation::EfromGNrad ( const double  E) const
inline

Photo-nuclear shower energy.

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

Definition at line 263 of file JRadiation.hh.

264  {
265  //generate according to 1/k from minimum energy to E
266 
267  double cmax = sigmaGammaPparam(EminGNrad);
268  if (cmax < sigmaGammaPparam(E))
269  cmax=sigmaGammaPparam(E);
270 
271  double Pmax = PhiofEofepsparam(E,EminGNrad);
272 
273  double Er = 0.0;
274  for (int i = 1000; i != 0; --i) {
275  Er = EminGNrad*exp(gRandom->Rndm()*log(E/EminGNrad));
276  const double factor = PhiofEofepsparam(E,Er)*sigmaGammaPparam(Er)/(cmax*Pmax);
277  if (gRandom->Rndm() < factor) return Er;
278  }
279 
280  return Er;
281  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then usage E
Definition: JMuonPostfit.sh:35
static double sigmaGammaPparam(const double eps)
Definition: JRadiation.hh:362
const double EminGNrad
Definition: JRadiation.hh:391
static double PhiofEofepsparam(const double E, const double eps)
Definition: JRadiation.hh:367
virtual double JPHYSICS::JRadiation::CalculateACoeff ( double  Energy) const
inlinevirtual

Ionization a parameter.

Parameters
Energymuon energy [GeV]
Returns
s coefficient [GeV/m]

Reimplemented in JPHYSICS::JRadiationFunction.

Definition at line 289 of file JRadiation.hh.

290  {
291  const double Energy2 = Energy*Energy;
292  const double beta = sqrt(Energy2 - MASS_MUON*MASS_MUON) / Energy;
293  const double beta2 = beta*beta;
294  const double gamma = Energy/MASS_MUON;
295  const double gamma2 = gamma*gamma;
296 
297  const double p2 = Energy2 - MASS_MUON*MASS_MUON;
298  const double EMaxT = 2.*MASS_ELECTRON*p2 / (MASS_ELECTRON*MASS_ELECTRON + MASS_MUON*MASS_MUON + 2.*MASS_ELECTRON*Energy);
299  const double EMaxT2 = EMaxT*EMaxT;
300  const JSter& coeff = getSterCoefficient(Z);
301  const double I2 = coeff.I*coeff.I; // in GeV^2
302  const double X = log10(beta*gamma);
303 
304  double delta = 0.0;
305 
306  if (coeff.X0 < X && X < coeff.X1) {
307  delta = 4.6052*X + coeff.a*pow(coeff.X1-X,coeff.m) + coeff.C;
308  }
309 
310  if (X > coeff.X1) {
311  delta = 4.6052*X + coeff.C;
312  }
313 
314  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/Energy2)-delta);
315 
316  return acoeff;
317  }
double I
Ionization potentian [GeV].
Definition: JIonization.hh:22
static double le()
Definition: JRadiation.hh:378
Struct for the Sternheimer coefficients.
Definition: JIonization.hh:21
double a
Correction density parameter.
Definition: JIonization.hh:25
double m
Correction density parameter.
Definition: JIonization.hh:26
static const double MASS_MUON
muon mass [GeV]
static const double AVOGADRO
Avogadro&#39;s number [gr^-1].
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:98
then break fi done getCenter read X Y Z let X
static const double PI
Mathematical constants.
static const double MASS_ELECTRON
electron mass [GeV]
p2
Definition: module-Z:fit.sh:74
double X0
Correction density parameter.
Definition: JIonization.hh:23
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant.
double C
Correction density parameter.
Definition: JIonization.hh:27
double X1
Correction density parameter.
Definition: JIonization.hh:24
static JSterCoefficient getSterCoefficient
Function object for Ster coefficients.
Definition: JIonization.hh:80
double JPHYSICS::JRadiation::GofZEvrho ( const double  E,
const double  v,
const double  r 
) const
inlineprotected

Definition at line 320 of file JRadiation.hh.

323  {
324  const double ksi = MASS_MUON*MASS_MUON*v*v*(1-r*r)/(4*MASS_ELECTRON*MASS_ELECTRON*(1-v));//
325  const double b = v*v/(2*(1-v));//
326  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);
327  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);
328  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));
329  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);
330  const double Le = log((Astar()*pow(Z,-1./3.)*sqrt((1+ksi)*(1+Ye)))/
331  (1.+(2.*MASS_ELECTRON*sqrt(exp(1.))*Astar()*pow(Z,-1./3.)*(1+ksi)*(1+Ye))/(E*v*(1-r*r))));
332  const double Lm = log(((MASS_MUON/MASS_ELECTRON)*Astar()*pow(Z,-1./3.)*sqrt((1.+1./ksi)*(1.+Ym)))/
333  (1.+(2.*MASS_ELECTRON*sqrt(exp(1.))*Astar()*pow(Z,-1./3.)*(1+ksi)*(1+Ym))/(E*v*(1-r*r))));
334  double Phie = Be*Le; if(Phie<0.)Phie=0.;
335  double Phim = Bm*Lm; if(Phim<0.)Phim=0.;
336  return Phie+(MASS_ELECTRON*MASS_ELECTRON/(MASS_MUON*MASS_MUON))*Phim;
337  }
static const double MASS_MUON
muon mass [GeV]
data_type r[M+1]
Definition: JPolint.hh:742
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then usage E
Definition: JMuonPostfit.sh:35
static double Astar()
Definition: JRadiation.hh:380
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:98
static const double MASS_ELECTRON
electron mass [GeV]
data_type v[N+1][M+1]
Definition: JPolint.hh:740
virtual double JPHYSICS::JRadiation::IntegralofG ( const double  E,
const double  eps 
) const
inlineprotectedvirtual

Reimplemented in JPHYSICS::JRadiationFunction.

Definition at line 339 of file JRadiation.hh.

341  {
342  const double EP = E-eps;
343  const double v = eps/E;
344  const double tmin = log((4*MASS_ELECTRON/eps+12*pow(MASS_MUON,2)/(E*EP)*(1-4*MASS_ELECTRON/eps))
345  /(1+(1-6*pow(MASS_MUON,2)/(E*EP))*sqrt(1-4*MASS_ELECTRON/eps)));
346 
347  if (tmin < 0.0) {
348  const double dt = -tmin/steps;
349  double sum(0.);
350  for (int i = 0;i<steps+1;i++)
351  {
352  double fac = 1.0;if(i==0 || i==steps)fac=0.5;
353  double t = tmin+i*dt;
354  double r = 1.-exp(t);
355  sum+=fac*GofZEvrho(E,v,r)*exp(t);
356  }
357  return sum*dt;
358  } else
359  return 0.0;
360  }
static const double MASS_MUON
muon mass [GeV]
double GofZEvrho(const double E, const double v, const double r) const
Definition: JRadiation.hh:320
data_type r[M+1]
Definition: JPolint.hh:742
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then usage E
Definition: JMuonPostfit.sh:35
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:98
static const double MASS_ELECTRON
electron mass [GeV]
data_type v[N+1][M+1]
Definition: JPolint.hh:740
static double JPHYSICS::JRadiation::sigmaGammaPparam ( const double  eps)
inlinestaticprotected

Definition at line 362 of file JRadiation.hh.

363  {
364  return (49.2 + 11.1 * log(eps) + 151.8/sqrt(eps));
365  }
static double JPHYSICS::JRadiation::PhiofEofepsparam ( const double  E,
const double  eps 
)
inlinestaticprotected

Definition at line 367 of file JRadiation.hh.

368  {
369  const double Denom = 1+eps/LAMBDA*(1+LAMBDA/(2*MASS_PROTON)+eps/LAMBDA);
370  const double epsoverE = eps/E;
371  const double Numerator = E * E * (1 - epsoverE) / (MASS_MUON * MASS_MUON) * (1 + MASS_MUON * MASS_MUON * epsoverE * epsoverE /
372  (LAMBDA * LAMBDA * (1 - epsoverE)));
373  const double Factor = 1 - epsoverE + epsoverE * epsoverE / 2 * (1 + 2 * MASS_MUON * MASS_MUON / (LAMBDA * LAMBDA));
374  return (epsoverE - 1 + Factor * log (Numerator / Denom));
375  }
static const double MASS_MUON
muon mass [GeV]
then usage E
Definition: JMuonPostfit.sh:35
Auxiliary data structure to convert (lambda) function to printable object.
Definition: JManip.hh:724
static const double MASS_PROTON
proton mass [GeV]
static double JPHYSICS::JRadiation::le ( )
inlinestaticprotected

Definition at line 378 of file JRadiation.hh.

378 { return 3.8616E-13;}
static double JPHYSICS::JRadiation::r0 ( )
inlinestaticprotected

Definition at line 379 of file JRadiation.hh.

379 { return 2.817940e-15; }
static double JPHYSICS::JRadiation::Astar ( )
inlinestaticprotected

Definition at line 380 of file JRadiation.hh.

380 { return 183.0; }
static double JPHYSICS::JRadiation::B ( )
inlinestaticprotected

Definition at line 381 of file JRadiation.hh.

381 { return 183.0; }
static double JPHYSICS::JRadiation::BP ( )
inlinestaticprotected

Definition at line 382 of file JRadiation.hh.

382 { return 1429.0; }

Member Data Documentation

const double JPHYSICS::JRadiation::Z
protected

Definition at line 384 of file JRadiation.hh.

const double JPHYSICS::JRadiation::A
protected

Definition at line 385 of file JRadiation.hh.

const double JPHYSICS::JRadiation::Dn
protected

Definition at line 386 of file JRadiation.hh.

const double JPHYSICS::JRadiation::DnP
protected

Definition at line 387 of file JRadiation.hh.

const int JPHYSICS::JRadiation::steps
protected

Definition at line 388 of file JRadiation.hh.

const double JPHYSICS::JRadiation::EminBrems
protected

Definition at line 389 of file JRadiation.hh.

const double JPHYSICS::JRadiation::EminEErad
protected

Definition at line 390 of file JRadiation.hh.

const double JPHYSICS::JRadiation::EminGNrad
protected

Definition at line 391 of file JRadiation.hh.


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