|  | 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 through calorimeter Layers Both the caloEntryLayerIntersecti...
Scalar eta() const
pseudorapidity method
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.