ATLAS Offline Software
Loading...
Searching...
No Matches
ITrackDepositInCaloTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CALOTRKMUIDTOOLS_ITRACKDEPOSITINCALOTOOL_H
6#define CALOTRKMUIDTOOLS_ITRACKDEPOSITINCALOTOOL_H
7
11#include "GaudiKernel/IAlgTool.h"
12#include "GaudiKernel/StatusCode.h"
15#include "TrkTrack/Track.h"
18
19class ITrackDepositInCaloTool : virtual public IAlgTool {
24public:
25 enum CaloSurfaceType { Entrance = 0, Middle = 1, Exit = 2, Inside = 3, Outside = 4 };
26 virtual ~ITrackDepositInCaloTool() = default;
27
28 static const InterfaceID& interfaceID() {
29 static const InterfaceID IID_ITrackDepositInCaloTool("ITrackDepositInCaloTool", 1, 0);
30 return IID_ITrackDepositInCaloTool;
31 }
32
36 virtual std::vector<DepositInCalo> deposits(const Trk::TrackParameters* par,
37 const CaloCellContainer* cellContainer = nullptr) const = 0;
42 virtual std::vector<DepositInCalo> getDeposits(const Trk::TrackParameters* par,
43 const CaloCellContainer* caloCellCont = nullptr) const = 0;
44
45 virtual std::vector<DepositInCalo> getDeposits(const xAOD::TrackParticle* tp, const CaloCellContainer* caloCellCont = nullptr,
46 const CaloExtensionCollection* extensionCache = nullptr) const = 0;
47
53 virtual Trk::Surface* createSurface(const CaloDetDescriptor* descr, CaloSurfaceType type) const = 0;
57 virtual double calcEnergy(const Trk::TrackParameters* par, const Trk::ParticleHypothesis& particleHypo) const = 0;
58
62 typedef std::map<double, std::vector<const CaloDetDescriptor*> > CaloLayerMap;
63 typedef std::map<double, std::vector<const CaloDetDescriptor*> >::const_iterator CaloLayerMapIt;
64};
65
66#endif
Definition of CaloDetDescriptor.
DataVector< Trk::CaloExtension > CaloExtensionCollection
@ Outside
with the insensitive area of an active element
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
ParametersBase< TrackParametersDim, Charged > TrackParameters
TrackParticle_v1 TrackParticle
Reference the current persistent version: