|
ATLAS Offline Software
|
Go to the documentation of this file.
73 #ifndef ITRKTRACKPARTICLECALOEXTENSIONTOOL_H
74 #define ITRKTRACKPARTICLECALOEXTENSIONTOOL_H
76 #include "GaudiKernel/EventContext.h"
77 #include "GaudiKernel/IAlgTool.h"
78 #include "GaudiKernel/ThreadLocalContext.h"
86 #include <unordered_map>
91 static const InterfaceID
92 IID_IParticleCaloExtensionTool(
"Trk::IParticleCaloExtensionTool", 1, 0);
98 typedef std::unordered_map<size_t, std::unique_ptr<Trk::CaloExtension>>
Cache;
109 const EventContext& ctx,
131 const EventContext& ctx,
133 Cache& cache)
const = 0;
168 const EventContext& ctx,
170 const std::vector<bool>&
mask,
183 const EventContext& ctx,
196 const std::vector<CaloSampling::CaloSample>& clusterLayers,
215 std::unique_ptr<const Trk::TrackParameters>>>
217 const EventContext& ctx,
219 const std::vector<CaloSampling::CaloSample>& clusterLayers,
220 const std::vector<std::unique_ptr<Trk::Surface>>& caloSurfaces,
234 std::unique_ptr<const Trk::TrackParameters>>>
236 const EventContext& ctx,
238 const std::vector<CaloSampling::CaloSample>& clusterLayers,
246 inline const InterfaceID&
249 return IID_IParticleCaloExtensionTool;
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Tracking class to hold the extrapolation from a particle from the ID to the muon system (or the other...
virtual const Trk::CaloExtension * caloExtension(const xAOD::IParticle &particle, const CaloExtensionCollection &cache) const =0
Method to return the calo layers crossed (CaloExtension) by the IParticle track or the IParticle itse...
virtual std::unique_ptr< Trk::CaloExtension > caloExtension(const EventContext &ctx, const TrackParameters &startPars, PropDirection propDir, ParticleHypothesis particleType) const =0
Method returning a unique_ptr to the caloExtension given the relevant starting point parameters ,...
Class providing the definition of the 4-vector interface.
virtual std::unique_ptr< Trk::CaloExtension > caloExtension(const EventContext &ctx, const xAOD::IParticle &particle) const =0
Method returning the calo layers crossed by the IParticle track or the IParticle itself if it is neut...
virtual const Trk::CaloExtension * caloExtension(const EventContext &ctx, const xAOD::IParticle &particle, Cache &cache) const =0
Method to return the calo layers crossed (CaloExtension) by the IParticle track or the IParticle itse...
static const InterfaceID & interfaceID()
::StatusCode StatusCode
StatusCode definition for legacy code.
Interface for extending Particles with calo intersections.
Ensure that the ATLAS eigen extensions are properly loaded.
std::unordered_map< size_t, std::unique_ptr< Trk::CaloExtension > > Cache
virtual std::vector< std::pair< CaloSampling::CaloSample, std::unique_ptr< const Trk::TrackParameters > > > layersCaloExtension(const EventContext &ctx, const TrackParameters &startPars, const std::vector< CaloSampling::CaloSample > &clusterLayers, double eta, const CaloDetDescrManager &caloDD, ParticleHypothesis particleType=Trk::nonInteracting) const =0
Method returning a vector of the Track Parameters at layers/samplings.
This class provides the client interface for accessing the detector description information common to...
virtual std::vector< std::unique_ptr< Trk::Surface > > caloSurfacesFromLayers(const std::vector< CaloSampling::CaloSample > &clusterLayers, double eta, const CaloDetDescrManager &caloDD) const =0
Method returning a vector of calo surfaces give calo layers/samplings.
virtual std::vector< std::pair< CaloSampling::CaloSample, std::unique_ptr< const Trk::TrackParameters > > > surfaceCaloExtension(const EventContext &ctx, const TrackParameters &startPars, const std::vector< CaloSampling::CaloSample > &clusterLayers, const std::vector< std::unique_ptr< Trk::Surface >> &caloSurfaces, ParticleHypothesis particleType) const =0
Method returning a vector of the Track Parameters at layers/samplings.
virtual StatusCode caloExtensionCollection(const EventContext &ctx, const xAOD::IParticleContainer &particles, const std::vector< bool > &mask, CaloExtensionCollection &caloextensions) const =0
Method that can be used by algorithms that : A.