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.