ATLAS Offline Software
TrackContainerHandlesHelper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSTRKEVENT_TRACKCONTAINERHANDLESHELPER_H
6 #define ACTSTRKEVENT_TRACKCONTAINERHANDLESHELPER_H
7 
8 #include <memory>
9 
10 #include "Acts/Geometry/TrackingGeometry.hpp"
15 #include "GaudiKernel/StatusCode.h"
24 
25 namespace ActsTrk {
26 
31 std::string prefixFromTrackContainerName(const std::string& tracks);
32 
34  public:
40  StatusCode initialize(const std::string& prefix);
41 
49  std::unique_ptr<ActsTrk::TrackContainer> moveToConst(
51  const Acts::GeometryContext& geoContext,
52  const EventContext& evtContext) const;
53 
54  private:
55  // MTJ part
62 
66  std::unique_ptr<ActsTrk::MultiTrajectory> moveToConst(
68  const EventContext& context) const;
69 
70  // TrackContainer part
74 };
75 
77  public:
83  StatusCode initialize(const std::string& prefix);
84 
85  std::unique_ptr<ActsTrk::TrackContainer> build(
86  const Acts::TrackingGeometry* geo,
87  const Acts::GeometryContext& geoContext,
88  const EventContext& context) const;
89 
90  private:
91  // restore the pointer to uncalibrated measurements from element links
93  // MTJ part
99 
101  // build for MTJ part
102  std::unique_ptr<ActsTrk::MultiTrajectory> buildMtj(
103  const Acts::TrackingGeometry* geo,
104  const Acts::GeometryContext& geoContext,
105  const EventContext& context) const;
106  // TrackContainer part
107 
108  // track and its backend
112 };
113 
114 } // namespace ActsTrk
115 
116 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ActsTrk::ConstTrackContainerHandlesHelper::m_jacobiansKey
SG::ReadHandleKey< xAOD::TrackJacobianContainer > m_jacobiansKey
Definition: TrackContainerHandlesHelper.h:96
TrackSummaryContainer.h
ActsTrk::MutableTrackContainerHandlesHelper::m_trackSummaryKey
SG::WriteHandleKey< ActsTrk::TrackSummaryContainer > m_trackSummaryKey
Definition: TrackContainerHandlesHelper.h:73
ActsTrk::MutableTrackContainerHandlesHelper::moveToConst
std::unique_ptr< ActsTrk::TrackContainer > moveToConst(ActsTrk::MutableTrackContainer &&tc, const Acts::GeometryContext &geoContext, const EventContext &evtContext) const
produces ActsTrk::ConstTrackContainer with all backends stored in SG
Definition: TrackContainerHandlesHelper.cxx:130
ActsTrk::ConstTrackContainerHandlesHelper::m_trackSummaryKey
SG::WriteHandleKey< ActsTrk::TrackSummaryContainer > m_trackSummaryKey
Definition: TrackContainerHandlesHelper.h:111
ActsGeometryContext.h
ActsTrk::MutableTrackContainerHandlesHelper::m_mtjKey
SG::WriteHandleKey< ActsTrk::MultiTrajectory > m_mtjKey
Definition: TrackContainerHandlesHelper.h:61
ActsTrk::ConstTrackContainerHandlesHelper::restoreUncalibMeasurementPtr
void restoreUncalibMeasurementPtr(xAOD::TrackStateAuxContainer &statesLink) const
Definition: TrackContainerHandlesHelper.cxx:329
ActsTrk::prefixFromTrackContainerName
std::string prefixFromTrackContainerName(const std::string &tracks)
Parse TrackContainer name to get the prefix for backends The name has to contain XYZTracks,...
Definition: TrackContainerHandlesHelper.cxx:18
TrackParametersContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
ActsTrk::ConstTrackContainerHandlesHelper::build
std::unique_ptr< ActsTrk::TrackContainer > build(const Acts::TrackingGeometry *geo, const Acts::GeometryContext &geoContext, const EventContext &context) const
Definition: TrackContainerHandlesHelper.cxx:257
ActsTrk::ConstTrackContainerHandlesHelper::m_trackSurfacesKey
SG::ReadHandleKey< xAOD::TrackSurfaceContainer > m_trackSurfacesKey
Definition: TrackContainerHandlesHelper.h:110
ActsTrk::ConstTrackContainerHandlesHelper::initialize
StatusCode initialize(const std::string &prefix)
Sets up the handles.
Definition: TrackContainerHandlesHelper.cxx:177
ActsTrk::MutableTrackContainerHandlesHelper::m_trackSurfacesKey
SG::WriteHandleKey< xAOD::TrackSurfaceContainer > m_trackSurfacesKey
Definition: TrackContainerHandlesHelper.h:72
ActsTrk::MutableTrackContainerHandlesHelper::initialize
StatusCode initialize(const std::string &prefix)
Sets up the handles.
Definition: TrackContainerHandlesHelper.cxx:51
ActsTrk::MutableMultiTrajectory
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external b...
Definition: MultiTrajectory.h:81
TrackStateContainer.h
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ActsTrk::MutableTrackContainerHandlesHelper::m_parametersKey
SG::WriteHandleKey< xAOD::TrackParametersContainer > m_parametersKey
Definition: TrackContainerHandlesHelper.h:57
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
ActsTrk::MutableTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:33
TrackSurfaceContainer.h
ActsTrk::ConstTrackContainerHandlesHelper::m_mtjKey
SG::WriteHandleKey< ActsTrk::MultiTrajectory > m_mtjKey
Definition: TrackContainerHandlesHelper.h:100
TrackJacobianContainer.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
ActsTrk::ConstTrackContainerHandlesHelper::m_xAODTrackSummaryKey
SG::ReadHandleKey< xAOD::TrackSummaryContainer > m_xAODTrackSummaryKey
Definition: TrackContainerHandlesHelper.h:109
ActsTrk::ConstTrackContainerHandlesHelper::m_measurementsKey
SG::ReadHandleKey< xAOD::TrackMeasurementContainer > m_measurementsKey
Definition: TrackContainerHandlesHelper.h:97
TrackSummaryContainer.h
ActsTrk::MutableTrackContainerHandlesHelper::m_xAODTrackSummaryKey
SG::WriteHandleKey< xAOD::TrackSummaryContainer > m_xAODTrackSummaryKey
Definition: TrackContainerHandlesHelper.h:71
ActsTrk::MutableTrackContainerHandlesHelper::m_surfacesKey
SG::WriteHandleKey< xAOD::TrackSurfaceContainer > m_surfacesKey
Definition: TrackContainerHandlesHelper.h:60
MultiTrajectory.h
ActsTrk::MutableTrackContainerHandlesHelper::m_jacobiansKey
SG::WriteHandleKey< xAOD::TrackJacobianContainer > m_jacobiansKey
Definition: TrackContainerHandlesHelper.h:58
LArCellConditions.geo
bool geo
Definition: LArCellConditions.py:46
ActsTrk::ConstTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:76
ActsTrk::MutableTrackContainerHandlesHelper::m_measurementsKey
SG::WriteHandleKey< xAOD::TrackMeasurementContainer > m_measurementsKey
Definition: TrackContainerHandlesHelper.h:59
ActsTrk::ConstTrackContainerHandlesHelper::m_statesKey
SG::ReadHandleKey< xAOD::TrackStateContainer > m_statesKey
Definition: TrackContainerHandlesHelper.h:94
xAOD::TrackStateAuxContainer_v1
Definition: TrackStateAuxContainer_v1.h:18
ActsTrk::ConstTrackContainerHandlesHelper::buildMtj
std::unique_ptr< ActsTrk::MultiTrajectory > buildMtj(const Acts::TrackingGeometry *geo, const Acts::GeometryContext &geoContext, const EventContext &context) const
Definition: TrackContainerHandlesHelper.cxx:205
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:34
ActsTrk::MutableTrackContainerHandlesHelper::m_statesKey
SG::WriteHandleKey< xAOD::TrackStateContainer > m_statesKey
Definition: TrackContainerHandlesHelper.h:56
ActsTrk::MutableTrackContainer
Definition: TrackContainer.h:122
ActsTrk::ConstTrackContainerHandlesHelper::m_parametersKey
SG::ReadHandleKey< xAOD::TrackParametersContainer > m_parametersKey
Definition: TrackContainerHandlesHelper.h:95
ActsTrk::ConstTrackContainerHandlesHelper::m_surfacesKey
SG::ReadHandleKey< xAOD::TrackSurfaceContainer > m_surfacesKey
Definition: TrackContainerHandlesHelper.h:98
TrackContainer.h
TrackMeasurementContainer.h