ATLAS Offline Software
Loading...
Searching...
No Matches
EnergyLossUpdator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// EnergyLossUpdator.h, (c) ATLAS Detector software
8
9#ifndef TRKEXTOOLS_ENERGYLOSSUPDATOR_H
10#define TRKEXTOOLS_ENERGYLOSSUPDATOR_H
11
12// Gaudi
14// Trk
19
20// STL
21#include <utility>
22
23namespace Trk {
24
26
112
114 : public AthAlgTool
115 , virtual public IEnergyLossUpdator
116{
117
118public:
120 EnergyLossUpdator(const std::string&, const std::string&, const IInterface*);
121
123 virtual ~EnergyLossUpdator() = default;
124
130 virtual double dEdX(const MaterialProperties& mat,
131 double p,
132 ParticleHypothesis particle = pion) const override final;
133
143 virtual EnergyLoss energyLoss(
144 const MaterialProperties& mat,
145 double p,
146 double pathcorrection,
148 ParticleHypothesis particle = pion,
149 bool useMPV = false) const override final;
150
155 EnergyLoss& eLoss,
156 double caloEnergy,
157 double caloEnergyError,
158 double pCaloEntry,
159 double momentumError,
160 int& elossFlag) const override final;
161
164 virtual void getX0ElossScales(int icalo,
165 double eta,
166 double phi,
167 double& X0Scale,
168 double& ElossScale) const override final;
169
170private:
175 double p,
176 double pathcorrection,
177 PropDirection direction = alongMomentum,
178 ParticleHypothesis particleHypothesis = electron) const;
179
182 double p,
183 double pathcorrection,
185 ParticleHypothesis particle = pion) const;
186
187 BooleanProperty m_detailedEloss{this, "DetailedEloss", true,
188 "provide extended EnergyLoss info"};
189 BooleanProperty m_optimalRadiation{this, "OptimalRadiation", true,
190 "use calorimeter more optimal for radiation detection"};
191};
192
193} // end of namespace
194
195#endif // TRKEXTOOLS_ENERGYLOSSUPDATOR_H
196
Scalar eta() const
pseudorapidity method
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
virtual EnergyLoss updateEnergyLoss(EnergyLoss &eLoss, double caloEnergy, double caloEnergyError, double pCaloEntry, double momentumError, int &elossFlag) const override final
Method to recalculate Eloss values for the fit setting an elossFlag using as an input the detailed El...
virtual double dEdX(const MaterialProperties &mat, double p, ParticleHypothesis particle=pion) const override final
dEdX calculation when providing MaterialProperties, a momentum, a pathlength, and a ParicleHypothesis...
BooleanProperty m_optimalRadiation
virtual EnergyLoss energyLoss(const MaterialProperties &mat, double p, double pathcorrection, PropDirection dir=alongMomentum, ParticleHypothesis particle=pion, bool useMPV=false) const override final
deltaE calculation using dEdX and integrating along pathlength, assuming constant dEdX during for the...
virtual void getX0ElossScales(int icalo, double eta, double phi, double &X0Scale, double &ElossScale) const override final
Routine to calculate X0 and Eloss scale factors for the Calorimeter and Muon System.
double varianceDeltaQoverP(const MaterialProperties &, double p, double pathcorrection, PropDirection direction=alongMomentum, ParticleHypothesis particleHypothesis=electron) const
Method to return the variance of the change in q/p for the Bethe-Heitler parameterisation.
virtual ~EnergyLossUpdator()=default
Virtual destructor.
Trk::EnergyLoss ionizationEnergyLoss(const MaterialProperties &mat, double p, double pathcorrection, PropDirection dir=alongMomentum, ParticleHypothesis particle=pion) const
EnergyLossUpdator(const std::string &, const std::string &, const IInterface *)
AlgTool like constructor.
BooleanProperty m_detailedEloss
This class describes energy loss material effects in the ATLAS tracking EDM.
Definition EnergyLoss.h:34
Interface class IEnergyLossUpdator.
Material with information about thickness of material.
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
@ alongMomentum
@ phi
Definition ParamDefs.h:75
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
#define private