5#ifndef CALOTRKMUIDTOOLS_ITRACKDEPOSITINCALOTOOL_H
6#define CALOTRKMUIDTOOLS_ITRACKDEPOSITINCALOTOOL_H
11#include "GaudiKernel/IAlgTool.h"
12#include "GaudiKernel/StatusCode.h"
19class ITrackDepositInCaloTool :
virtual public IAlgTool {
25 enum CaloSurfaceType { Entrance = 0,
Middle = 1, Exit = 2, Inside = 3,
Outside = 4 };
26 virtual ~ITrackDepositInCaloTool() =
default;
28 static const InterfaceID& interfaceID() {
29 static const InterfaceID IID_ITrackDepositInCaloTool(
"ITrackDepositInCaloTool", 1, 0);
30 return IID_ITrackDepositInCaloTool;
37 const CaloCellContainer* cellContainer =
nullptr)
const = 0;
43 const CaloCellContainer* caloCellCont =
nullptr)
const = 0;
45 virtual std::vector<DepositInCalo> getDeposits(
const xAOD::TrackParticle* tp,
const CaloCellContainer* caloCellCont =
nullptr,
53 virtual Trk::Surface* createSurface(
const CaloDetDescriptor* descr, CaloSurfaceType type)
const = 0;
62 typedef std::map<double, std::vector<const CaloDetDescriptor*> > CaloLayerMap;
63 typedef std::map<double, std::vector<const CaloDetDescriptor*> >::const_iterator CaloLayerMapIt;
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: