![]() |
ATLAS Offline Software
|
#include <GeoIDSvc.h>
Public Member Functions | |
| GeoIDSvc (const std::string &name, ISvcLocator *svc) | |
| Constructor with parameters. More... | |
| ~GeoIDSvc ()=default | |
| Destructor. More... | |
| StatusCode | initialize () |
| AtlasDetDescr::AtlasRegion | identifyGeoID (const Amg::Vector3D &pos) const |
| A static filter that returns the SimGeoID of the given position. More... | |
| ISF::InsideType | inside (const Amg::Vector3D &pos, AtlasDetDescr::AtlasRegion geoID) const |
| Checks if the given position (or ISFParticle) is inside a given SimGeoID. More... | |
| AtlasDetDescr::AtlasRegion | identifyNextGeoID (const Amg::Vector3D &pos, const Amg::Vector3D &dir) const |
| Find the SimGeoID that the particle will enter with its next infinitesimal step along the given direction. More... | |
Private Member Functions | |
| std::unique_ptr< RZPairList > | prepareRZPairs (AtlasDetDescr::AtlasRegion geoID) |
| bool | checkSymmetric (RZPairList &positiveZ, RZPairList &negativeZ) |
| Check if given RZPairLists are symmetric around z==0 plane. More... | |
| template<typename T > | |
| int | sign (T val) |
| a branchless signum function More... | |
Private Attributes | |
| ServiceHandle< IEnvelopeDefSvc > | m_envDefSvc |
| service providing the envelope dimensions for the different sub-detectors More... | |
| DoubleProperty | m_tolerance |
| (estimated) tolerance within which coordinates are considered equal More... | |
| double * | m_zBins {} |
| int | m_numZBins {0} |
| RadiusGeoIDPair * | m_radiusBins {} |
| m_radiusBins[m_numZBins][numCurRadiusBins] More... | |
| int | m_maxRBins {AtlasDetDescr::fNumAtlasRegions+1} |
A fast Athena service identifying the AtlasRegion a given position/particle is in.
Definition at line 43 of file GeoIDSvc.h.
| ISF::GeoIDSvc::GeoIDSvc | ( | const std::string & | name, |
| ISvcLocator * | svc | ||
| ) |
|
default |
Destructor.
|
private |
Check if given RZPairLists are symmetric around z==0 plane.
Definition at line 391 of file GeoIDSvc.cxx.
| AtlasDetDescr::AtlasRegion ISF::GeoIDSvc::identifyGeoID | ( | const Amg::Vector3D & | pos | ) | const |
A static filter that returns the SimGeoID of the given position.
Definition at line 222 of file GeoIDSvc.cxx.
| AtlasDetDescr::AtlasRegion ISF::GeoIDSvc::identifyNextGeoID | ( | const Amg::Vector3D & | pos, |
| const Amg::Vector3D & | dir | ||
| ) | const |
Find the SimGeoID that the particle will enter with its next infinitesimal step along the given direction.
Definition at line 254 of file GeoIDSvc.cxx.
| StatusCode ISF::GeoIDSvc::initialize | ( | ) |
Definition at line 25 of file GeoIDSvc.cxx.
| ISF::InsideType ISF::GeoIDSvc::inside | ( | const Amg::Vector3D & | pos, |
| AtlasDetDescr::AtlasRegion | geoID | ||
| ) | const |
Checks if the given position (or ISFParticle) is inside a given SimGeoID.
Definition at line 189 of file GeoIDSvc.cxx.
|
private |
Definition at line 270 of file GeoIDSvc.cxx.
|
inlineprivate |
|
private |
service providing the envelope dimensions for the different sub-detectors
Definition at line 74 of file GeoIDSvc.h.
|
private |
Definition at line 86 of file GeoIDSvc.h.
|
private |
Definition at line 83 of file GeoIDSvc.h.
|
private |
m_radiusBins[m_numZBins][numCurRadiusBins]
Definition at line 85 of file GeoIDSvc.h.
|
private |
(estimated) tolerance within which coordinates are considered equal
Definition at line 78 of file GeoIDSvc.h.
|
private |
Definition at line 82 of file GeoIDSvc.h.
1.8.18