LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "GFEnergyLossCoulomb.h"
Public Member Functions | |
double | energyLoss (const double &step, const double &mom, const int &pdg, const double &matDensity, const double &matZ, const double &matA, const double &radiationLength, const double &meanExcitationEnergy, const bool &doNoise=false, TMatrixT< Double_t > *noise=NULL, const TMatrixT< Double_t > *jacobian=NULL, const TVector3 *directionBefore=NULL, const TVector3 *directionAfter=NULL) |
Optional calculation of multiple scattering. More... | |
virtual | ~GFEnergyLossCoulomb () |
Protected Member Functions | |
void | getParticleParameters (const int &pdg, double &charge, double &mass) |
Gets particle charge and mass (in GeV) More... | |
double | getParticleMass (const int &pdg) |
Returns particle mass (in GeV) More... | |
Definition at line 42 of file GFEnergyLossCoulomb.h.
|
virtual |
Definition at line 25 of file GFEnergyLossCoulomb.cxx.
|
virtual |
Optional calculation of multiple scattering.
Only multiple scattering is calculated, the returned value for the energy loss is always 0. With the calculated multiple scattering angle, two noise matrices are calculated:
We define a local coordinate system cs' with initial momentum in z-direction:
Now the global coordinate system cs is:
with the Euler angles
is the multiple scattering error-matrix in the coordinate system. are the multiple scattering angles. There is only an error in direction (which later leads to an error in position, when is propagated with ).
This translates into the noise matrix in the local cs' via jacobian J. The mean scattering angle is always 0, this means that ):
The following transformation brings the noise matrix into the global coordinate system cs, resulting in :
Now two are calculated: (at the start point, with initial direction #directionBefore) and (at the final point, with direction #directionAfter). is the propagated with the #jacobian of extrapolation . The new covariance matrix with multiple scattering in global cs is:
See also: Track following in dense media and inhomogeneous magnetic fields, A.Fontana, P.Genova, L.Lavezzi and A.Rotondi; PANDA Report PV/01-07
Implements genf::GFAbsEnergyLoss.
Definition at line 27 of file GFEnergyLossCoulomb.cxx.
References E, genf::GFAbsEnergyLoss::getParticleParameters(), and GFException::setFatal().
|
protectedinherited |
Returns particle mass (in GeV)
Definition at line 33 of file GFAbsEnergyLoss.cxx.
References part.
Referenced by genf::GFEnergyLossBrems::energyLoss(), and genf::GFEnergyLossBetheBloch::energyLoss().
|
protectedinherited |
Gets particle charge and mass (in GeV)
Definition at line 26 of file GFAbsEnergyLoss.cxx.
References part.
Referenced by genf::GFEnergyLossBrems::energyLoss(), genf::GFEnergyLossBetheBloch::energyLoss(), and energyLoss().