ATLAS Offline Software
Loading...
Searching...
No Matches
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
22namespace Trk {
23
25
26
33class IEnergyLossUpdator : virtual public IAlgTool
34{
35
36public:
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,
65 ParticleHypothesis particle = pion,
66 bool useMPV = false) const = 0;
67
71
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
Scalar eta() const
pseudorapidity method
This class describes energy loss material effects in the ATLAS tracking EDM.
Definition EnergyLoss.h:34
Interface class IEnergyLossUpdator.
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.
virtual ~IEnergyLossUpdator()
Virtual destructor.
virtual void validationAction() const
Validation Action: Can be implemented optionally, outside access to internal validation steps.
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...
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...
DeclareInterfaceID(IEnergyLossUpdator, 1, 0)
Creates the InterfaceID and interfaceID() method.
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...
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.