12#include "CLHEP/Random/RandLandau.h"
13#include "CLHEP/Random/RandGaussZiggurat.h"
20 base_class(
type, name, parent )
39 return StatusCode::FAILURE;
42 return StatusCode::SUCCESS;
58 double pathCorrection,
83 sampledEloss.
update(deIoni,0.,deRad,0.,
false);
87 sampledEloss.
update(deIoni,0.,0.,0.,
false);
93 sampledEloss.
update(deIoni,0.,deRad,0.,
false);
99 double E = sqrt(momentum*momentum+m*m);
101 if (sampledEloss.
deltaE()+E<m ) {
102 float dRad_rest = m-E-sampledEloss.
deltaE();
103 sampledEloss.
update(0.,0.,dRad_rest,0.,
false);
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
This class describes energy loss material effects in the ATLAS tracking EDM.
void update(double ioni, double sigi, double rad, double sigr, bool mpv=false)
double deltaE() const
returns the
Material with information about thickness of material.
BooleanProperty m_usePDGformula
CLHEP::HepRandomEngine * m_randomEngine
Random engine.
virtual double dEdX(const Trk::MaterialProperties &materialProperties, double momentum, Trk::ParticleHypothesis particleHypothesis=Trk::pion) const override
IEnergyLossUpdator public method to compute dEdX.
McEnergyLossUpdator(const std::string &, const std::string &, const IInterface *)
Constructor with AlgTool parameters.
PublicToolHandle< IEnergyLossUpdator > m_energyLossUpdator
Dummy methods end here.
virtual StatusCode initialize() override
AlgTool initialise method.
virtual Trk::EnergyLoss energyLoss(const Trk::MaterialProperties &materialProperties, double momentum, double pathCorrection, Trk::PropDirection direction=Trk::alongMomentum, Trk::ParticleHypothesis particleHypothesis=Trk::pion, bool usePDGformula=false) const override
IEnergyLossUpdator public method to compute the mean and variance of the energy loss.
IntegerProperty m_energyLossDistribution
include energy loss straggling or not ( 0 == none, 1 == gauss, 2 == landau)
ServiceHandle< IAtRndmGenSvc > m_rndGenSvc
Random Generator service - not thread-safe.
StringProperty m_randomEngineName
Name of the random number stream.
constexpr double mass[PARTICLEHYPOTHESES]
the array of masses
PropDirection
PropDirection, enum for direction of the propagation.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.