50 double p = localP.
mag();
51 double xf = fabs(p/localP.
z());
53 const double m =
mass();
55 const double emass = 0.511e-3;
56 const double poti = 16.e-9 * 10.75;
57 const double eplasma = 28.816e-9 *
sqrt(2.33*0.498);
58 const double delta0 = 2*
log(eplasma/poti) - 1.;
61 double e =
sqrt(p*p + m*m);
64 double eta2 = beta*gamma; eta2 *= eta2;
66 double ratio = emass/
m;
67 double emax = 2.*emass*eta2/(1. + 2.*ratio*gamma + ratio*ratio);
72 double xi = materialConstants.
xi()*xf; xi /= (beta*
beta);
77 double dEdx = xi*(
log(2.*emass*emax/(poti*poti)) - 2.*(beta*
beta) - delta0);
78 double dEdx2 = xi*emax*(1.-0.5*(beta*
beta));
79 double dP = dEdx/
beta;
80 double sigp2 = dEdx2*e*e/(p*p*p*p*p*
p);
95 double p = localP.
mag();
96 double normalisedPath = fabs(p/localP.
z())*materialConstants.
radLen();
101 double z =
exp(-normalisedPath);
102 double varz =
exp(-normalisedPath*
log(3.)/
log(2.))-
void computeElectrons(const LocalVector &, const MediumProperties &, const PropagationDirection) const
const MediumProperties * mediumProperties() const
LocalVector localMomentum() const
const Surface & surface() const
virtual void compute(const TrajectoryStateOnSurface &, const PropagationDirection) const
void computeBetheBloch(const LocalVector &, const MediumProperties &) const
AlgebraicSymMatrix55 theDeltaCov