|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ISF_SERVICES_GEOIDSVC_H
6 #define ISF_SERVICES_GEOIDSVC_H 1
9 #include "GaudiKernel/ServiceHandle.h"
33 {
return lhs.first<rhs.first;}
43 class GeoIDSvc :
public extends<AthService, ISF::IGeoIDSvc> {
71 template <
typename T>
inline int sign(T
val);
75 "The EnvelopeDefinitionService describing the AtlasRegion boundaries."};
79 "Estimated tolerance within which coordinates are considered being equal."};
95 return (T(0) <
val) - (
val < T(0));
100 #endif //> !ISF_SERVICES_GEOIDSVC_H
std::set< RadiusGeoIDPair, SortByRadius > RadiusGeoIDPairSet
std::pair< double, AtlasDetDescr::AtlasRegion > RadiusGeoIDPair
int sign(T val)
a branchless signum function
RadiusGeoIDPair * m_radiusBins
m_radiusBins[m_numZBins][numCurRadiusBins]
std::unique_ptr< RZPairList > prepareRZPairs(AtlasDetDescr::AtlasRegion geoID)
~GeoIDSvc()=default
Destructor.
AtlasDetDescr::AtlasRegion identifyGeoID(const Amg::Vector3D &pos) const
A static filter that returns the SimGeoID of the given position.
std::list< RZPair > RZPairList
::StatusCode StatusCode
StatusCode definition for legacy code.
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 direc...
GeoIDSvc(const std::string &name, ISvcLocator *svc)
Constructor with parameters.
AthROOTErrorHandlerSvc * svc
ISF::InsideType inside(const Amg::Vector3D &pos, AtlasDetDescr::AtlasRegion geoID) const
Checks if the given position (or ISFParticle) is inside a given SimGeoID.
Eigen::Matrix< double, 3, 1 > Vector3D
ServiceHandle< IEnvelopeDefSvc > m_envDefSvc
service providing the envelope dimensions for the different sub-detectors
bool operator()(const RadiusGeoIDPair &lhs, const RadiusGeoIDPair &rhs) const
bool checkSymmetric(RZPairList &positiveZ, RZPairList &negativeZ)
Check if given RZPairLists are symmetric around z==0 plane.
DoubleProperty m_tolerance
(estimated) tolerance within which coordinates are considered equal