ATLAS Offline Software
Loading...
Searching...
No Matches
IParticleCaloCellAssociationTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4
6// IParticleCaloCellAssociationTool.h, (c) ATLAS Detector software
8#ifndef ITRKTRACKPARTICLECALOCELLASSOCIATIONTOOL_H
9#define ITRKTRACKPARTICLECALOCELLASSOCIATIONTOOL_H
10
11#include "GaudiKernel/IAlgTool.h"
12#include "xAODBase/IParticle.h"
15#include <memory>
17
18namespace Rec
19{
20
21static const InterfaceID IID_IParticleCaloCellAssociationTool("Rec::IParticleCaloCellAssociationTool", 1, 0);
22
24class IParticleCaloCellAssociationTool : virtual public IAlgTool {
25public:
26
34 virtual std::unique_ptr< ParticleCellAssociation > particleCellAssociation( const xAOD::IParticle& particle, float dr,
35 const CaloCellContainer* container = nullptr,
36 const CaloExtensionCollection* extensionCache = nullptr) const = 0;
37
55
56 typedef std::unordered_map<size_t,std::unique_ptr< ParticleCellAssociation >> Cache;
57 virtual ParticleCellAssociation* particleCellAssociation( const xAOD::IParticle& particle, float dr, Cache& cache,
58 const CaloCellContainer* container = nullptr,
59 const CaloExtensionCollection* extensionCache = nullptr) const = 0;
60
61
62 static const InterfaceID& interfaceID( ) ;
63};
64
68
69} // end of namespace
70
71#endif
DataVector< Trk::CaloExtension > CaloExtensionCollection
Container class for CaloCell.
Interface for extending Particles with calo cells.
virtual ParticleCellAssociation * particleCellAssociation(const xAOD::IParticle &particle, float dr, Cache &cache, const CaloCellContainer *container=nullptr, const CaloExtensionCollection *extensionCache=nullptr) const =0
virtual std::unique_ptr< ParticleCellAssociation > particleCellAssociation(const xAOD::IParticle &particle, float dr, const CaloCellContainer *container=nullptr, const CaloExtensionCollection *extensionCache=nullptr) const =0
Method to get the ParticleCellAssociation for a given Particle.
std::unordered_map< size_t, std::unique_ptr< ParticleCellAssociation > > Cache
Method to get the ParticleCellAssociation for a given Particle.
class storing calorimeter cell association with IParticle objects
Class providing the definition of the 4-vector interface.
Gaudi Tools.
static const InterfaceID IID_IParticleCaloCellAssociationTool("Rec::IParticleCaloCellAssociationTool", 1, 0)