#include <EntryLayerToolMT.h>
|
ServiceHandle< ISF::IGeoIDSvc > | m_geoIDSvc {this, "GeoIDSvc", "GeoIDSvc", "AthenaService used to indentify sub-detector by (x,y,z) coordintes."} |
| GeoIDSvc will be used to determine the entry layer surface, the particle is on. More...
|
|
ISF::IGeoIDSvc * | m_geoIDSvcQuick {} |
|
ParticleFilterArray | m_particleFilterHandle {this, "ParticleFilters", {}, "ISF Particle filters, defining whether a particle will be stored or not."} |
| Array of filters to decide whether a particle is added to the Entry/Exit layer. More...
|
|
ISF::IParticleFilter ** | m_particleFilter {} |
|
size_t | m_numParticleFilters {0} |
|
thread_utils::ThreadLocalOwner< std::array< TrackRecordCollection *, ISF::fNumAtlasEntryLayers > > | m_collectionHolder |
| The entry layer collections. More...
|
|
std::string | m_volumeName [ISF::fNumAtlasEntryLayers] |
|
Definition at line 41 of file EntryLayerToolMT.h.
◆ EntryLayerToolMT()
ISF::EntryLayerToolMT::EntryLayerToolMT |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
Constructor with parameters.
Constructor.
Definition at line 14 of file EntryLayerToolMT.cxx.
19 declareProperty(
"CaloEntryVolumeString",
21 "VolumeName in TrackRecords in CaloEntryLayer");
22 declareProperty(
"MuonEntryVolumeString",
24 "VolumeName in TrackRecords in MuonEntryLayer");
25 declareProperty(
"MuonExitVolumeString",
27 "VolumeName in TrackRecords in MuonExitLayer");
◆ ~EntryLayerToolMT()
virtual ISF::EntryLayerToolMT::~EntryLayerToolMT |
( |
| ) |
|
|
virtualdefault |
◆ identifyEntryLayer()
Identify the corresponding entry layer for the given particle (may return ISF::fUnsetEntryLayere if particle is not on an entry layer surface)
Definition at line 70 of file EntryLayerToolMT.cxx.
81 if ( onIDSurface && onCaloSurface ) {
91 if (onCaloSurface && onMSSurface) {
95 else if (onMSSurface) {
◆ initialize()
StatusCode ISF::EntryLayerToolMT::initialize |
( |
| ) |
|
|
finaloverridevirtual |
◆ passesFilters()
◆ registerParticle()
Add the given particle to the corresponding Entry/Exit layer if applicable.
Definition at line 104 of file EntryLayerToolMT.cxx.
124 "adding it to '" << (*
m_collectionHolder.get())[layerHit]->Name() <<
"' TrackRecord collection");
128 CLHEP::Hep3Vector hepPos(
pos.x(),
pos.y(),
pos.z() );
129 CLHEP::Hep3Vector hepMom(
mom.x(),
mom.y(),
mom.z() );
136 auto truthBinding =
particle.getTruthBinding();
137 auto generationZeroGenParticle = truthBinding ? truthBinding->getGenerationZeroGenParticle() :
nullptr;
140 const int status = generationZeroGenParticle ? generationZeroGenParticle->status() :
particle.status();
◆ registerTrackRecordCollection()
Register the TrackRecordCollection pointer for a layer.
Definition at line 157 of file EntryLayerToolMT.cxx.
161 if (not collectionArray) {
163 auto* temp =
new std::array<TrackRecordCollection*, ISF::fNumAtlasEntryLayers>;
167 (*collectionArray)[
layer]=collection;
168 return StatusCode::SUCCESS;
◆ setupEvent()
virtual void ISF::EntryLayerToolMT::setupEvent |
( |
| ) |
|
|
inlineoverridevirtual |
◆ m_collectionHolder
◆ m_geoIDSvc
◆ m_geoIDSvcQuick
◆ m_numParticleFilters
size_t ISF::EntryLayerToolMT::m_numParticleFilters {0} |
|
private |
◆ m_particleFilter
◆ m_particleFilterHandle
ParticleFilterArray ISF::EntryLayerToolMT::m_particleFilterHandle {this, "ParticleFilters", {}, "ISF Particle filters, defining whether a particle will be stored or not."} |
|
private |
Array of filters to decide whether a particle is added to the Entry/Exit layer.
Definition at line 78 of file EntryLayerToolMT.h.
◆ m_volumeName
The documentation for this class was generated from the following files:
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
virtual ISF::InsideType inside(const Amg::Vector3D &pos, AtlasDetDescr::AtlasRegion geoID) const =0
Checks if the given position (ISFParticle) is inside/outside/onsurface a given AtlasRegion.
virtual bool passFilter(const ISFParticle &isp) const =0
Returns a pass boolean on the particle