ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | List of all members
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. More...
 

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. More...
 
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  {
66  return IID_IParticleCaloCellAssociationTool;
67 }

◆ 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: