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
11#include "GaudiKernel/IAlgTool.h"
12#include "GaudiKernel/IInterface.h"
14#include "TrkParameters/TrackParameters.h" //typedef, cannot fwd declare
16#include "xAODMeasurementBase/UncalibratedMeasurement.h" //typedef, cannot fwd declare
21#include "Acts/EventData/BoundTrackParameters.hpp"
22#include "Acts/EventData/VectorTrackContainer.hpp"
24
25namespace Trk {
26 class Track;
27 class MeasurementBase;
28 class PrepRawData;
29} // namespace Trk
30
31namespace Acts {
32class Surface;
33class SourceLink;
34}
35
36
37namespace ActsTrk {
42class ITrackConverterTool : virtual public IAlgTool {
43 public:
45
49 virtual std::vector<Acts::SourceLink> trkTrackToSourceLinks(const Trk::Track& track) const = 0;
55 using TrackFitResult_t = Acts::Result<ActsTrk::MutableTrackContainer::TrackProxy, std::error_code>;
56 virtual std::unique_ptr<Trk::Track> convertFitResult(const EventContext& ctx,
57 TrackFitResult_t& fitResult,
58 const Trk::TrackInfo::TrackFitter fitAuthor) const = 0;
62 virtual void convertTrkToActsContainer(const EventContext& ctx,
63 const TrackCollection& trackColl,
64 ActsTrk::MutableTrackContainer& outTrackcoll) const = 0;
65
69 virtual std::unique_ptr<TrackCollection>
70 convertActsToTrkContainer(const EventContext& ctx,
71 const ActsTrk::TrackContainer& trackCont) const = 0;
72
73};
74} // namespace ActsTrk
75
76#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::unique_ptr< Trk::Track > convertFitResult(const EventContext &ctx, TrackFitResult_t &fitResult, const Trk::TrackInfo::TrackFitter fitAuthor) const =0
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.
virtual void convertTrkToActsContainer(const EventContext &ctx, const TrackCollection &trackColl, ActsTrk::MutableTrackContainer &outTrackcoll) const =0
Convert the passed Trk::TrackCollection into an Acts Track object and appends the result to the passe...
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.
Acts::Result< ActsTrk::MutableTrackContainer::TrackProxy, std::error_code > TrackFitResult_t
Convert the Acts fit result into a Trk::Track object, if the fit was successful.
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.