ATLAS Offline Software
Loading...
Searching...
No Matches
TrackingGeometryTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSGEOMETRY_ACTSTRACKINGGEOMETRYTOOL_H
6#define ACTSGEOMETRY_ACTSTRACKINGGEOMETRYTOOL_H
7
8// ATHENA
11
12// PACKAGE
17
18// ACTS
19
20namespace Acts {
21 class TrackingGeometry;
22}
23
24
25
26namespace ActsTrk{
27class TrackingGeometryTool : public extends<AthAlgTool, ActsTrk::ITrackingGeometryTool> {
28
29 public:
30 StatusCode initialize() override;
31
32 using base_class::base_class;
34 virtual std::shared_ptr<const Acts::TrackingGeometry> trackingGeometry() const override;
36 virtual const ActsTrk::GeometryContext& getGeometryContext(const EventContext& ctx) const override;
38 virtual const ActsTrk::GeometryContext& getNominalGeometryContext() const override;
40 virtual const ActsTrk::DetectorElementToActsGeometryIdMap* surfaceIdMap() const override;
42 virtual const Acts::TrackingVolume* getEnvelope(const ActsTrk::SystemEnvelope envType) const override;
43
44 private:
46 std::unique_ptr<ActsTrk::DetectorElementToActsGeometryIdMap> createDetectorElementToGeoIdMap() const;
47
48 ServiceHandle<ActsTrk::ITrackingGeometrySvc> m_trackingGeometrySvc{this, "TrackingGeometrySvc", "ActsTrackingGeometrySvc"};
49
50 ActsTrk::GeoContextReadKey_t m_rchk{this, "ActsAlignmentKey", "ActsAlignment", "cond read key for the alignment"};
51
52 std::unique_ptr<const ActsTrk::DetectorElementToActsGeometryIdMap> m_detIdMap{};
53};
54}
55#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
ActsTrk::GeoContextReadKey_t m_rchk
virtual std::shared_ptr< const Acts::TrackingGeometry > trackingGeometry() const override
Access to the built Acts tracking geometry.
std::unique_ptr< ActsTrk::DetectorElementToActsGeometryIdMap > createDetectorElementToGeoIdMap() const
Creates and popules the DetectorElement -> Acts::Surface geo identifier map from the geometry service...
virtual const ActsTrk::DetectorElementToActsGeometryIdMap * surfaceIdMap() const override
Returns the pointer to the identifier mapping between Acts::surface ID & IdentifierHash of the ITk su...
virtual const Acts::TrackingVolume * getEnvelope(const ActsTrk::SystemEnvelope envType) const override
Returns the envelope volume from the tracking geometry that's containing all volumes of the subsystem...
std::unique_ptr< const ActsTrk::DetectorElementToActsGeometryIdMap > m_detIdMap
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
virtual const ActsTrk::GeometryContext & getGeometryContext(const EventContext &ctx) const override
Retrieve the geometry context with alignment constants from store gate.
virtual const ActsTrk::GeometryContext & getNominalGeometryContext() const override
Returns the refrence to the nominal GeometryContext.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
SG::ReadHandleKey< GeometryContext > GeoContextReadKey_t
Abrivate the ReadHandleKey to declare the data dependency on the Geometry context.
SystemEnvelope
Define an enumeration to retrieve the envelope tracking volume from.