ATLAS Offline Software
IEnergyLossUpdator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IEnergyLossUpdator.h, (c) ATLAS Detector software
8 
9 #ifndef TRKEXINTERFACES_IENERGYLOSSUPDATOR_H
10 #define TRKEXINTERFACES_IENERGYLOSSUPDATOR_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 // Trk
18 // STL
19 #include <memory>
20 #include <utility>
21 
22 namespace Trk {
23 
24 class MaterialProperties;
25 
26 
33 class IEnergyLossUpdator : virtual public IAlgTool
34 {
35 
36 public:
38  virtual ~IEnergyLossUpdator() {}
39 
42 
48  virtual double dEdX(const MaterialProperties& mat,
49  double p,
50  ParticleHypothesis particle = pion) const = 0;
61  const MaterialProperties& mat,
62  double p,
63  double pathcorrection,
66  bool useMPV = false) const = 0;
67 
73  EnergyLoss& eLoss,
74  double caloEnergy,
75  double caloEnergyError,
76  double pCaloEntry,
77  double momentumError,
78  int& elossFlag) const = 0;
79 
82  virtual void getX0ElossScales(int icalo,
83  double eta,
84  double phi,
85  double& X0Scale,
86  double& ElossScale) const = 0;
87 
91  virtual void validationAction() const {}
92 };
93 
94 } // end of namespace
95 
96 #endif // TRKEXINTERFACES_IENERGYLOSSUPDATOR_H
97 
EnergyLoss.h
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:53
Trk::IEnergyLossUpdator::energyLoss
virtual EnergyLoss energyLoss(const MaterialProperties &mat, double p, double pathcorrection, PropDirection dir=alongMomentum, ParticleHypothesis particle=pion, bool useMPV=false) const =0
deltaE calculation using dEdX and integrating along pathlength, assuming constant dEdX during for the...
Trk::IEnergyLossUpdator::getX0ElossScales
virtual void getX0ElossScales(int icalo, double eta, double phi, double &X0Scale, double &ElossScale) const =0
Routine to calculate X0 and Eloss scale factors for the Calorimeter and Muon System.
Trk::IEnergyLossUpdator::dEdX
virtual double dEdX(const MaterialProperties &mat, double p, ParticleHypothesis particle=pion) const =0
dEdX calculation when providing MaterialProperties, a momentum, a pathlength, and a ParicleHypothesis...
PropDirection.h
Trk::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
Trk::IEnergyLossUpdator::DeclareInterfaceID
DeclareInterfaceID(IEnergyLossUpdator, 1, 0)
Creates the InterfaceID and interfaceID() method.
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::IEnergyLossUpdator::updateEnergyLoss
virtual EnergyLoss updateEnergyLoss(EnergyLoss &eLoss, double caloEnergy, double caloEnergyError, double pCaloEntry, double momentumError, int &elossFlag) const =0
Method to recalculate Eloss values for the fit setting an elossFlag using as an input the detailed El...
Trk::IEnergyLossUpdator
Definition: IEnergyLossUpdator.h:34
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
Trk::IEnergyLossUpdator::~IEnergyLossUpdator
virtual ~IEnergyLossUpdator()
Virtual destructor.
Definition: IEnergyLossUpdator.h:38
ParticleHypothesis.h
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::EnergyLoss
This class describes energy loss material effects in the ATLAS tracking EDM.
Definition: EnergyLoss.h:34
Trk::IEnergyLossUpdator::validationAction
virtual void validationAction() const
Validation Action: Can be implemented optionally, outside access to internal validation steps.
Definition: IEnergyLossUpdator.h:91
Trk::MaterialProperties
Definition: MaterialProperties.h:40
Trk::phi
@ phi
Definition: ParamDefs.h:81