5#ifndef CALORINGERTOOLS_CALORINGERREADERUTILS_H
6#define CALORINGERTOOLS_CALORINGERREADERUTILS_H
14#include "GaudiKernel/ToolHandle.h"
15#include "GaudiKernel/IDataHandleHolder.h"
49 ToolHandle<ICaloRingsBuilder> &builder,
51 const std::string& name):
106template<
typename container_t >
150 const std::string &decoContName,
151 ToolHandle<ICaloRingsBuilder> &builder,
153 IDataHandleHolder* owningAlg)
189#ifndef INCLUDE_HEADER_ONLY
An STL vector of pointers that by default owns its pointed-to elements.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Handle class for adding a decoration to an object.
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Container class for CaloCell.
ToolHandle< ICaloRingsBuilder > & m_builder
Protected Properties.
void checkRelease()
Release the handles when finished looping.
size_t m_part_counter
Hold number of particles already procesed for this event:
StatusCode prepareToLoopFor(std::size_t nParticles)
Methods.
size_t m_part_size
Hold number of particles to be processed:
SG::WriteHandle< xAOD::CaloRingsContainer > * m_crContH
Private Properties.
SG::WriteHandle< xAOD::RingSetContainer > * m_rsContH
Keep RingSetContainer handle in scope until finished looping.
void incrementCounter()
Increment particle looping counter.
virtual ~BuildCaloRingsFctorBase()
BuildCaloRingsFctorBase(ToolHandle< ICaloRingsBuilder > &builder, IMessageSvc *msgSvc, const std::string &name)
Main ctor Initialize values.
void operator()(const particle_t *part)
Methods.
SG::WriteDecorHandle< container_t, xAOD::CaloRingsLinks > decor_t
CaloRings links decorator handle type.
StatusCode initialize()
Initialize the decorator keys.
container_t::base_value_type particle_t
Particle type that the functor will decorate the CaloRingsLinks.
StatusCode prepareToLoopFor(std::size_t nParticles)
Prepare to loop for nParticles.
static constexpr const char * m_particle_name
Holds particle name:
void displayLoopingMessage() const
Shows current looping status.
void checkRelease()
Release the handles when finished looping.
SG::WriteDecorHandleKey< container_t > m_decorKey
Decorator key.
BuildCaloRingsFctor(const std::string &decoContName, ToolHandle< ICaloRingsBuilder > &builder, IMessageSvc *msgSvc, IDataHandleHolder *owningAlg)
Main ctor, repass information for interface.
static constexpr bool m_particle_has_cluster
Holds if particle has cluster access:
BuildCaloRingsFctorBase base_t
decor_t * m_decor
Write decorator handle.
Namespace dedicated for Ringer utilities.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
template to get particle_t name and if it has cluster access.