ATLAS Offline Software
Loading...
Searching...
No Matches
ITrackConverterTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSGEOMETRYINTERFACES_ITrackConverterTool_H
6#define ACTSGEOMETRYINTERFACES_ITrackConverterTool_H
7
8// ATHENA
9#include <memory>
10#include <variant>
11
12#include "GaudiKernel/IAlgTool.h"
13#include "GaudiKernel/IInterface.h"
15#include "TrkParameters/TrackParameters.h" //typedef, cannot fwd declare
17#include "xAODMeasurementBase/UncalibratedMeasurement.h" //typedef, cannot fwd declare
22#include "Acts/EventData/BoundTrackParameters.hpp"
23#include "Acts/EventData/VectorTrackContainer.hpp"
25
26namespace Trk {
27 class Track;
28 class MeasurementBase;
29 class PrepRawData;
30} // namespace Trk
31
32namespace Acts {
33class Surface;
34class SourceLink;
35}
36
37
38namespace ActsTrk {
43class ITrackConverterTool : virtual public IAlgTool {
44 public:
47 using ConstTrack_t = TrackContainer::ConstTrackProxy;
48 using Track_t = MutableTrackContainer::TrackProxy;
49 using TrackFitResult_t = Acts::Result<Track_t, std::error_code>;
53 virtual std::vector<Acts::SourceLink> trkTrackToSourceLinks(const Trk::Track& track) const = 0;
59 using ActsTrack_t = ActsTrk::MutableTrackContainer::TrackProxy;
60 virtual std::unique_ptr<Trk::Track> convertActsToTrk(const EventContext& ctx,
61 const ActsTrack_t& actsTrack,
62 const Trk::TrackInfo::TrackFitter fitAuthor) const = 0;
66 virtual std::unique_ptr<Trk::Track> convertTrack(const EventContext& ctx,
67 const ConstTrack_t& trackProxy) const = 0;
74 virtual void convertTrkToActsContainer(const EventContext& ctx,
75 const TrackCollection& trackColl,
76 ActsTrk::MutableTrackContainer& outTrackColl) const = 0;
77
81 virtual std::unique_ptr<TrackCollection>
82 convertActsToTrkContainer(const EventContext& ctx,
83 const ActsTrk::TrackContainer& trackCont) const = 0;
84
85};
86} // namespace ActsTrk
87
88#endif
Handle class for recording to StoreGate.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
ConversionTool between the Acts Track EDM and the Trk::Track EDM.
virtual std::vector< Acts::SourceLink > trkTrackToSourceLinks(const Trk::Track &track) const =0
Converts the Trk measurement track states into a vector of Acts::Source links.
MutableTrackContainer::TrackProxy Track_t
virtual std::unique_ptr< Trk::Track > convertActsToTrk(const EventContext &ctx, const ActsTrack_t &actsTrack, const Trk::TrackInfo::TrackFitter fitAuthor) const =0
Acts::Result< Track_t, std::error_code > TrackFitResult_t
TrackContainer::ConstTrackProxy ConstTrack_t
Abrivate the Track Proxy.
virtual void convertTrkToActsContainer(const EventContext &ctx, const TrackCollection &trackColl, ActsTrk::MutableTrackContainer &outTrackColl) const =0
Convert the Trk::Track in the passed TrackCollection into Acts tracks and appends the result to the p...
ActsTrk::MutableTrackContainer::TrackProxy ActsTrack_t
Convert the Acts fit result into a Trk::Track object, if the fit was successful.
DeclareInterfaceID(ITrackConverterTool, 1, 0)
virtual std::unique_ptr< TrackCollection > convertActsToTrkContainer(const EventContext &ctx, const ActsTrk::TrackContainer &trackCont) const =0
Converts the Acts track container to a Trk::Track collection.
virtual std::unique_ptr< Trk::Track > convertTrack(const EventContext &ctx, const ConstTrack_t &trackProxy) const =0
Converts a const Acts::Track into.
This class is the pure abstract base class for all fittable tracking measurements.
TrackFitter
enums to identify who created this track and what propertis does it have.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
Ensure that the ATLAS eigen extensions are properly loaded.