ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
RecoTools
RecoToolInterfaces
RecoToolInterfaces
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
"
13
#include "
ParticleCaloExtension/ParticleCellAssociation.h
"
14
#include "
TrkCaloExtension/CaloExtensionCollection.h
"
15
#include <memory>
16
class
CaloCellContainer
;
17
18
namespace
Rec
19
{
20
21
static
const
InterfaceID
IID_IParticleCaloCellAssociationTool
(
"Rec::IParticleCaloCellAssociationTool"
, 1, 0);
22
24
class
IParticleCaloCellAssociationTool
:
virtual
public
IAlgTool {
25
public
:
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
65
inline
const
InterfaceID&
IParticleCaloCellAssociationTool::interfaceID
() {
66
return
IID_IParticleCaloCellAssociationTool
;
67
}
68
69
}
// end of namespace
70
71
#endif
CaloExtensionCollection.h
CaloExtensionCollection
DataVector< Trk::CaloExtension > CaloExtensionCollection
Definition
CaloExtensionCollection.h:12
IParticle.h
ParticleCellAssociation.h
CaloCellContainer
Container class for CaloCell.
Definition
CaloCellContainer.h:55
Rec::IParticleCaloCellAssociationTool
Interface for extending Particles with calo cells.
Definition
IParticleCaloCellAssociationTool.h:24
Rec::IParticleCaloCellAssociationTool::interfaceID
static const InterfaceID & interfaceID()
Definition
IParticleCaloCellAssociationTool.h:65
Rec::IParticleCaloCellAssociationTool::particleCellAssociation
virtual ParticleCellAssociation * particleCellAssociation(const xAOD::IParticle &particle, float dr, Cache &cache, const CaloCellContainer *container=nullptr, const CaloExtensionCollection *extensionCache=nullptr) const =0
Rec::IParticleCaloCellAssociationTool::particleCellAssociation
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.
Rec::IParticleCaloCellAssociationTool::Cache
std::unordered_map< size_t, std::unique_ptr< ParticleCellAssociation > > Cache
Method to get the ParticleCellAssociation for a given Particle.
Definition
IParticleCaloCellAssociationTool.h:56
Rec::ParticleCellAssociation
class storing calorimeter cell association with IParticle objects
Definition
ParticleCellAssociation.h:20
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
Rec
namespace for combined reconstruction tools and interfaces
Definition
FakeTrackBuilder.h:10
Rec::IID_IParticleCaloCellAssociationTool
static const InterfaceID IID_IParticleCaloCellAssociationTool("Rec::IParticleCaloCellAssociationTool", 1, 0)
Generated on
for ATLAS Offline Software by
1.17.0