ATLAS Offline Software
Loading...
Searching...
No Matches
Rec::IParticleCaloCellAssociationTool Class Referenceabstract

Interface for extending Particles with calo cells. More...

#include <IParticleCaloCellAssociationTool.h>

Inheritance diagram for Rec::IParticleCaloCellAssociationTool:
Collaboration diagram for Rec::IParticleCaloCellAssociationTool:

Public Types

typedef std::unordered_map< size_t, std::unique_ptr< ParticleCellAssociation > > Cache
 Method to get the ParticleCellAssociation for a given Particle.

Public Member Functions

virtual std::unique_ptr< ParticleCellAssociationparticleCellAssociation (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.
virtual ParticleCellAssociationparticleCellAssociation (const xAOD::IParticle &particle, float dr, Cache &cache, const CaloCellContainer *container=nullptr, const CaloExtensionCollection *extensionCache=nullptr) const =0

Static Public Member Functions

static const InterfaceID & interfaceID ()

Detailed Description

Interface for extending Particles with calo cells.

Definition at line 24 of file IParticleCaloCellAssociationTool.h.

Member Typedef Documentation

◆ Cache

typedef std::unordered_map<size_t,std::unique_ptr< ParticleCellAssociation > > Rec::IParticleCaloCellAssociationTool::Cache

Method to get the ParticleCellAssociation for a given Particle.

Parameters
particleinput particle
drcone size used for the association @ param cache cache for keeping previous results
containercell container to be used if provided
extensionCacheA calo extension cache to be used if provided
Returns
ParticleCellAssociation* (plain ptr cache has ownership)

An alg looping over a single collection of IParticles
re-using them multiple times can use a local cache of the form std::unordered_map<size_t,std::unique_ptr<ParticleCellAssociation >>. where the key is the value of IParticle::index()

This method adds the ParticleCellAssociation to the cache look-up table which retains ownership.

Definition at line 56 of file IParticleCaloCellAssociationTool.h.

Member Function Documentation

◆ interfaceID()

const InterfaceID & Rec::IParticleCaloCellAssociationTool::interfaceID ( )
inlinestatic

Definition at line 65 of file IParticleCaloCellAssociationTool.h.

65 {
67}
static const InterfaceID IID_IParticleCaloCellAssociationTool("Rec::IParticleCaloCellAssociationTool", 1, 0)

◆ particleCellAssociation() [1/2]

virtual ParticleCellAssociation * Rec::IParticleCaloCellAssociationTool::particleCellAssociation ( const xAOD::IParticle & particle,
float dr,
Cache & cache,
const CaloCellContainer * container = nullptr,
const CaloExtensionCollection * extensionCache = nullptr ) const
pure virtual

◆ particleCellAssociation() [2/2]

virtual std::unique_ptr< ParticleCellAssociation > Rec::IParticleCaloCellAssociationTool::particleCellAssociation ( const xAOD::IParticle & particle,
float dr,
const CaloCellContainer * container = nullptr,
const CaloExtensionCollection * extensionCache = nullptr ) const
pure virtual

Method to get the ParticleCellAssociation for a given Particle.

Parameters
particleinput particle
drcone size used for the association
containercell container to be used if provided
extensionCacheA calo extension cache to be used if provided
Returns
std::unique_ptr<ParticleCellAssociation>

Implemented in Rec::ParticleCaloCellAssociationTool.


The documentation for this class was generated from the following file: