ATLAS Offline Software
Loading...
Searching...
No Matches
ActsToTrkConverterTool.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 ACTSEVENTCNV_ActsToTrkConverterTool_H
6#define ACTSEVENTCNV_ActsToTrkConverterTool_H
7
8#include <tuple>
9
10// ATHENA
12
13
17
18
19#include "TrkParameters/TrackParameters.h" //typedef, cannot fwd declare
26
27// PACKAGE
30#include "Acts/EventData/TrackParameters.hpp"
32
33namespace ActsTrk {
34class ActsToTrkConverterTool : public extends<AthAlgTool, IActsToTrkConverterTool>
35{
36
37public:
38 virtual StatusCode initialize() override;
39
40 using base_class::base_class;
41
42
43
47 virtual
48 const Trk::Surface&
49 actsSurfaceToTrkSurface(const Acts::Surface &actsSurface) const override;
50
54 virtual
55 const Acts::Surface&
56 trkSurfaceToActsSurface(const Trk::Surface &atlasSurface) const override;
57
60 virtual std::vector<Acts::SourceLink> trkTrackToSourceLinks(const Trk::Track& track) const override;
61
62 virtual void toSourceLinks(const std::vector<const Trk::MeasurementBase*>& measSet,
63 std::vector<Acts::SourceLink>& links) const override final;
64
65 virtual void toSourceLinks(const std::vector<const Trk::PrepRawData*>& prdSet,
66 std::vector<Acts::SourceLink>& links) const override final;
67
68 virtual std::unique_ptr<Trk::Track> convertFitResult(const EventContext& ctx,
70 TrackFitResult_t& fitResult,
71 const Trk::TrackInfo::TrackFitter fitAuthor,
72 const detail::SourceLinkType slType) const override final;
75 virtual
76 const Acts::BoundTrackParameters
77 trkTrackParametersToActsParameters(const Trk::TrackParameters &atlasParameter, const Acts::GeometryContext& gctx, Trk::ParticleHypothesis = Trk::pion) const override;
78
81 virtual
82 std::unique_ptr<Trk::TrackParameters>
83 actsTrackParametersToTrkParameters(const Acts::BoundTrackParameters &actsParameter, const Acts::GeometryContext& gctx) const override;
84
88 virtual
89 void trkTrackCollectionToActsTrackContainer(ActsTrk::MutableTrackContainer &tc, const TrackCollection& trackColl, const Acts::GeometryContext& gctx) const override;
90
91
92private:
94 const Acts::BoundTrackParameters& actsParameter,
95 const Trk::TrackParameters& tsos, const Acts::GeometryContext& gctx) const;
96
97 PublicToolHandle<ActsTrk::ITrackingGeometryTool> m_trackingGeometryTool{this, "TrackingGeometryTool", "ActsTrackingGeometryTool"};
98
100 ToolHandle<Trk::IExtendedTrackSummaryTool> m_trkSummaryTool {this, "SummaryTool", "", "ToolHandle for track summary tool"};
101 ToolHandle<Trk::IBoundaryCheckTool> m_boundaryCheckTool {this, "BoundaryCheckTool", "", "Boundary checking tool for detector sensitivities"};
102 ToolHandle<Trk::IRIO_OnTrackCreator> m_ROTcreator {this, "RotCreatorTool", ""};
103
104 std::shared_ptr<const Acts::TrackingGeometry> m_trackingGeometry{};
105 std::unordered_map<Identifier, const Acts::Surface*> m_actsSurfaceMap{};
106
107 Gaudi::Property<bool> m_visualDebugOutput{
108 this, "VisualDebugOutput", false,
109 "Print additional output for debug plots"};
110
111
112 Gaudi::Property<bool> m_extractMuonSurfaces{
113 this, "ExtractMuonSurfaces", false,
114 "If True, use the MuonDetectorManager to extract the Muon surfaces"};
115
116 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
117
119 SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_muonMgrKey{this, "MuonManagerKey", "MuonDetectorManager"};
120
121};
122
123}; // namespace ActsTrk
124
125#endif
static Double_t tc
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
virtual void toSourceLinks(const std::vector< const Trk::MeasurementBase * > &measSet, std::vector< Acts::SourceLink > &links) const override final
virtual const Trk::Surface & actsSurfaceToTrkSurface(const Acts::Surface &actsSurface) const override
Find the ATLAS surface corresponding to the Acts surface Only work if the Acts surface has an associa...
bool actsTrackParameterPositionCheck(const Acts::BoundTrackParameters &actsParameter, const Trk::TrackParameters &tsos, const Acts::GeometryContext &gctx) const
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trkSummaryTool
Tools needed to create Trk::Tracks from the ACts fit result.
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muonMgrKey
Detector manager to fetch the legacy Trk surfaces.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
virtual std::unique_ptr< Trk::TrackParameters > actsTrackParametersToTrkParameters(const Acts::BoundTrackParameters &actsParameter, const Acts::GeometryContext &gctx) const override
Create ATLAS TrackParameter from Acts one.
virtual StatusCode initialize() override
std::unordered_map< Identifier, const Acts::Surface * > m_actsSurfaceMap
Gaudi::Property< bool > m_visualDebugOutput
virtual const Acts::BoundTrackParameters trkTrackParametersToActsParameters(const Trk::TrackParameters &atlasParameter, const Acts::GeometryContext &gctx, Trk::ParticleHypothesis=Trk::pion) const override
Create Acts TrackParameter from ATLAS one.
ToolHandle< Trk::IBoundaryCheckTool > m_boundaryCheckTool
ToolHandle< Trk::IRIO_OnTrackCreator > m_ROTcreator
Gaudi::Property< bool > m_extractMuonSurfaces
std::shared_ptr< const Acts::TrackingGeometry > m_trackingGeometry
virtual void trkTrackCollectionToActsTrackContainer(ActsTrk::MutableTrackContainer &tc, const TrackCollection &trackColl, const Acts::GeometryContext &gctx) const override
Convert TrackCollection to Acts track container.
virtual const Acts::Surface & trkSurfaceToActsSurface(const Trk::Surface &atlasSurface) const override
Find the Acts surface corresponding to the ATLAS surface Use a map associating ATLAS ID to Acts surfa...
virtual std::unique_ptr< Trk::Track > convertFitResult(const EventContext &ctx, ActsTrk::MutableTrackContainer &tracks, TrackFitResult_t &fitResult, const Trk::TrackInfo::TrackFitter fitAuthor, const detail::SourceLinkType slType) const override final
virtual std::vector< Acts::SourceLink > trkTrackToSourceLinks(const Trk::Track &track) const override
Transform an ATLAS track into a vector of SourceLink to be use in the avts tracking Transform both me...
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
Abstract Base Class for tracking surfaces.
TrackFitter
enums to identify who created this track and what propertis does it have.
SourceLinkType
Enumeration to distinguish between the ATLAS EDM -> Acts::SourceLink variants.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
ParametersBase< TrackParametersDim, Charged > TrackParameters