|
ATLAS Offline Software
|
#include <EntryLayerTool.h>
- Author
- Elmar.Ritsch -at- cern.ch
Definition at line 40 of file EntryLayerTool.h.
◆ EntryLayerTool()
ISF::EntryLayerTool::EntryLayerTool |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
Constructor with parameters.
Constructor.
Definition at line 18 of file EntryLayerTool.cxx.
30 declareProperty(
"GeoIDSvc",
32 "AthenaService used to indentify sub-detector by (x,y,z) coordintes.");
35 declareProperty(
"ParticleFilters",
37 "ISF Particle filters, defining whether a particle will be stored or not.");
40 declareProperty(
"CaloEntryLayer",
42 "Name of CaloEntryLayer collection on Storegate");
43 declareProperty(
"MuonEntryLayer",
45 "Name of MuonEntryLayer collection on Storegate");
46 declareProperty(
"MuonExitLayer",
48 "Name of MuonExitLayer collection on Storegate");
51 declareProperty(
"CaloEntryVolumeString",
53 "VolumeName in TrackRecords in CaloEntryLayer");
54 declareProperty(
"MuonEntryVolumeString",
56 "VolumeName in TrackRecords in MuonEntryLayer");
57 declareProperty(
"MuonExitVolumeString",
59 "VolumeName in TrackRecords in MuonExitLayer");
◆ ~EntryLayerTool()
virtual ISF::EntryLayerTool::~EntryLayerTool |
( |
| ) |
|
|
virtualdefault |
◆ identifyEntryLayer()
Identify the corresponding entry layer for the given particle (may return ISF::fUnsetEntryLayer if particle is not on an entry layer surface)
Definition at line 122 of file EntryLayerTool.cxx.
133 if ( onIDSurface && onCaloSurface ) {
143 if (onCaloSurface && onMSSurface) {
147 else if (onMSSurface) {
◆ initialize()
StatusCode ISF::EntryLayerTool::initialize |
( |
| ) |
|
|
finaloverridevirtual |
Athena algtool's Hooks.
Definition at line 64 of file EntryLayerTool.cxx.
71 return StatusCode::FAILURE;
80 return StatusCode::FAILURE;
91 return StatusCode::SUCCESS;
◆ passesFilters()
Check if given particle passes the EntryLayer filters.
Definition at line 109 of file EntryLayerTool.cxx.
◆ registerParticle()
Add the given particle to the corresponding Entry/Exit layer if applicable.
Definition at line 156 of file EntryLayerTool.cxx.
176 "adding it to '" <<
m_SGName[layerHit] <<
"' TrackRecord collection");
180 CLHEP::Hep3Vector hepPos(
pos.x(),
pos.y(),
pos.z() );
181 CLHEP::Hep3Vector hepMom(
mom.x(),
mom.y(),
mom.z() );
188 auto truthBinding =
particle.getTruthBinding();
189 auto generationZeroGenParticle = truthBinding ? truthBinding->getGenerationZeroGenParticle() :
nullptr;
192 const int status = generationZeroGenParticle ? generationZeroGenParticle->status() :
particle.status();
◆ registerTrackRecordCollection()
Register the TrackRecordCollection pointer for a layer.
Definition at line 209 of file EntryLayerTool.cxx.
212 return StatusCode::SUCCESS;
◆ setupEvent()
void ISF::EntryLayerTool::setupEvent |
( |
| ) |
|
|
finaloverridevirtual |
◆ setupSGCollection()
used to setup a TrackRecordCollection on storegate
Definition at line 218 of file EntryLayerTool.cxx.
224 if ( evtStore()->contains<TrackRecordCollection>(collectionName) ){
225 if ( (evtStore()->
retrieve( collection, collectionName)).isFailure() )
226 ATH_MSG_ERROR(
"[ --- ] Unable to retrieve TrackRecordCollection " << collectionName);
230 if ( (evtStore()->record( collection, collectionName,
true)).isFailure() ) {
231 ATH_MSG_ERROR(
"[ --- ] Unable to record SiHitCollection " << collectionName);
◆ m_collection
◆ m_geoIDSvc
◆ m_geoIDSvcQuick
◆ m_numParticleFilters
size_t ISF::EntryLayerTool::m_numParticleFilters |
|
private |
◆ m_particleFilter
◆ m_particleFilterHandle
Array of filters to decide whether a particle is added to the Entry/Exit layer.
Definition at line 77 of file EntryLayerTool.h.
◆ m_SGName
◆ m_volumeName
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
virtual bool passesFilters(const ISFParticle &particle) override final
Check if given particle passes the EntryLayer filters.
std::string m_SGName[ISF::fNumAtlasEntryLayers]
ParticleFilterArray m_particleFilterHandle
Array of filters to decide whether a particle is added to the Entry/Exit layer.
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.
AtlasHitsVector< TrackRecord > TrackRecordCollection
#define ATH_MSG_VERBOSE(x)
ISF::IParticleFilter ** m_particleFilter
void Emplace(Args &&... args)
virtual ISF::EntryLayer identifyEntryLayer(const ISFParticle &particle) override final
Identify the corresponding entry layer for the given particle (may return ISF::fUnsetEntryLayer if pa...
virtual bool passFilter(const ISFParticle &isp) const =0
Returns a pass boolean on the particle
ISF::IGeoIDSvc * m_geoIDSvcQuick
ServiceHandle< ISF::IGeoIDSvc > m_geoIDSvc
GeoIDSvc will be used to determine the entry layer surface, the particle is on.
Eigen::Matrix< double, 3, 1 > Vector3D
size_t m_numParticleFilters
TrackRecordCollection * setupSGCollection(const std::string &name)
used to setup a TrackRecordCollection on storegate
TrackRecordCollection * m_collection[ISF::fNumAtlasEntryLayers]
The entry layer collections.
std::string m_volumeName[ISF::fNumAtlasEntryLayers]