5#ifndef ISF_GEANT4COMMONTOOLS_ENTRYLAYERTOOLMT_H
6#define ISF_GEANT4COMMONTOOLS_ENTRYLAYERTOOLMT_H 1
9#include "GaudiKernel/ToolHandle.h"
10#include "GaudiKernel/ServiceHandle.h"
46 EntryLayerToolMT(
const std::string& t,
const std::string& n,
const IInterface* p );
52 virtual StatusCode
initialize() override final;
84 static thread_local std::unique_ptr<std::array<TrackRecordCollection*, ISF::fNumAtlasEntryLayers>>
s_collection;
AtlasHitsVector< TrackRecord > TrackRecordCollection
ServiceHandle< ISF::IGeoIDSvc > m_geoIDSvc
GeoIDSvc will be used to determine the entry layer surface, the particle is on.
virtual bool passesFilters(const ISFParticle &particle) override final
handle for incident service
virtual ~EntryLayerToolMT()=default
Destructor.
ISF::IParticleFilter ** m_particleFilter
virtual void setupEvent() override
static thread_local std::unique_ptr< std::array< TrackRecordCollection *, ISF::fNumAtlasEntryLayers > > s_collection
The entry layer collections.
std::string m_volumeName[ISF::fNumAtlasEntryLayers]
virtual StatusCode registerTrackRecordCollection(TrackRecordCollection *collection, EntryLayer layer) override final
Register the TrackRecordCollection pointer for a layer.
virtual ISF::EntryLayer identifyEntryLayer(const ISFParticle &particle) override final
Identify the corresponding entry layer for the given particle (may return ISF::fUnsetEntryLayere if p...
size_t m_numParticleFilters
ParticleFilterArray m_particleFilterHandle
Array of filters to decide whether a particle is added to the Entry/Exit layer.
virtual StatusCode initialize() override final
Athena algtool's Hooks.
EntryLayerToolMT(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
virtual ISF::EntryLayer registerParticle(const ISF::ISFParticle &particle, ISF::EntryLayer entryLayer) override final
Add the given particle to the corresponding Entry/Exit layer if applicable.
ISF::IGeoIDSvc * m_geoIDSvcQuick
The interface to chose between the sub geometry services, realized as an AlgTool since it does not ha...
The generic ISF particle definition,.
ToolHandleArray< ISF::IParticleFilter > ParticleFilterArray
use this typedef to make the code structure more clean
EntryLayer
Identifiers for the TrackRecordCollections on the boundaries between CaloEntry: Inner Detector - Calo...