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:
35 
41  template <class PropOwner>
43 
49  StatusCode initialize(const std::string& prefix);
50 
58  std::unique_ptr<ActsTrk::PersistentTrackContainer> moveToConst(
60  const Acts::GeometryContext& geoContext,
61  const EventContext& evtContext) const;
62 
63  private:
64  // MTJ part
71 
75  std::unique_ptr<ActsTrk::MultiTrajectory> moveToConst(
77  const EventContext& context) const;
78 
79  // TrackContainer part
83 };
84 
86  public:
92  StatusCode initialize(const std::string& prefix);
93 
99  template <class PropOwner>
101 
102  std::unique_ptr<ActsTrk::PersistentTrackContainer> build(
103  const Acts::TrackingGeometry* geo,
104  const Acts::GeometryContext& geoContext,
105  const EventContext& context) const;
106 
107  private:
108  // restore the pointer to uncalibrated measurements from element links
110  // MTJ part
116 
118  // build for MTJ part
119  std::unique_ptr<ActsTrk::MultiTrajectory> buildMtj(
120  const Acts::TrackingGeometry* geo,
121  const EventContext& context) const;
122  // TrackContainer part
123 
124  // track and its backend
128 };
129 
130 } // namespace ActsTrk
132 #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:113
ActsTrk::MutablePersistentTrackContainer
Definition: PersistentTrackContainer.h:49
TrackSummaryContainer.h
ActsTrk::MutableTrackContainerHandlesHelper::m_trackSummaryKey
SG::WriteHandleKey< ActsTrk::TrackSummaryContainer > m_trackSummaryKey
Definition: TrackContainerHandlesHelper.h:82
ActsTrk::ConstTrackContainerHandlesHelper::m_trackSummaryKey
SG::WriteHandleKey< ActsTrk::TrackSummaryContainer > m_trackSummaryKey
Definition: TrackContainerHandlesHelper.h:127
ActsTrk::MutableTrackContainerHandlesHelper::MutableTrackContainerHandlesHelper
MutableTrackContainerHandlesHelper(PropOwner *owner)
Constructor taking the pointer to the class holding the object used to declare the data dependency fr...
PersistentTrackContainer.h
ActsGeometryContext.h
ActsTrk::MutableTrackContainerHandlesHelper::m_mtjKey
SG::WriteHandleKey< ActsTrk::MultiTrajectory > m_mtjKey
Definition: TrackContainerHandlesHelper.h:70
ActsTrk::ConstTrackContainerHandlesHelper::restoreUncalibMeasurementPtr
void restoreUncalibMeasurementPtr(xAOD::TrackStateAuxContainer &statesLink) const
Definition: TrackContainerHandlesHelper.cxx:323
TrackParametersContainer.h
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:20
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
ActsTrk::ConstTrackContainerHandlesHelper::m_trackSurfacesKey
SG::ReadHandleKey< xAOD::TrackSurfaceContainer > m_trackSurfacesKey
Definition: TrackContainerHandlesHelper.h:126
ActsTrk::ConstTrackContainerHandlesHelper::initialize
StatusCode initialize(const std::string &prefix)
Sets up the handles.
Definition: TrackContainerHandlesHelper.cxx:173
ActsTrk::MutableTrackContainerHandlesHelper::m_trackSurfacesKey
SG::WriteHandleKey< xAOD::TrackSurfaceContainer > m_trackSurfacesKey
Definition: TrackContainerHandlesHelper.h:81
ActsTrk::MutableTrackContainerHandlesHelper::initialize
StatusCode initialize(const std::string &prefix)
Sets up the handles.
Definition: TrackContainerHandlesHelper.cxx:47
ActsTrk::MutableMultiTrajectory
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external b...
Definition: MultiTrajectory.h:78
TrackStateContainer.h
TrackContainerHandlesHelper.icc
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
ActsTrk::ConstTrackContainerHandlesHelper::buildMtj
std::unique_ptr< ActsTrk::MultiTrajectory > buildMtj(const Acts::TrackingGeometry *geo, const EventContext &context) const
Definition: TrackContainerHandlesHelper.cxx:201
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:66
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
ActsTrk::MutableTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:33
TrackSurfaceContainer.h
ActsTrk::ConstTrackContainerHandlesHelper::build
std::unique_ptr< ActsTrk::PersistentTrackContainer > build(const Acts::TrackingGeometry *geo, const Acts::GeometryContext &geoContext, const EventContext &context) const
Definition: TrackContainerHandlesHelper.cxx:252
ActsTrk::ConstTrackContainerHandlesHelper::m_mtjKey
SG::WriteHandleKey< ActsTrk::MultiTrajectory > m_mtjKey
Definition: TrackContainerHandlesHelper.h:117
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:125
ActsTrk::ConstTrackContainerHandlesHelper::m_measurementsKey
SG::ReadHandleKey< xAOD::TrackMeasurementContainer > m_measurementsKey
Definition: TrackContainerHandlesHelper.h:114
TrackSummaryContainer.h
ActsTrk::MutableTrackContainerHandlesHelper::m_xAODTrackSummaryKey
SG::WriteHandleKey< xAOD::TrackSummaryContainer > m_xAODTrackSummaryKey
Definition: TrackContainerHandlesHelper.h:80
ActsTrk::MutableTrackContainerHandlesHelper::moveToConst
std::unique_ptr< ActsTrk::PersistentTrackContainer > moveToConst(ActsTrk::MutablePersistentTrackContainer &&tc, const Acts::GeometryContext &geoContext, const EventContext &evtContext) const
produces ActsTrk::ConstTrackContainer with all backends stored in SG
Definition: TrackContainerHandlesHelper.cxx:126
ActsTrk::MutableTrackContainerHandlesHelper::m_surfacesKey
SG::WriteHandleKey< xAOD::TrackSurfaceContainer > m_surfacesKey
Definition: TrackContainerHandlesHelper.h:69
MultiTrajectory.h
ActsTrk::MutableTrackContainerHandlesHelper::m_jacobiansKey
SG::WriteHandleKey< xAOD::TrackJacobianContainer > m_jacobiansKey
Definition: TrackContainerHandlesHelper.h:67
LArCellConditions.geo
bool geo
Definition: LArCellConditions.py:46
ActsTrk::ConstTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:85
ActsTrk::MutableTrackContainerHandlesHelper::m_measurementsKey
SG::WriteHandleKey< xAOD::TrackMeasurementContainer > m_measurementsKey
Definition: TrackContainerHandlesHelper.h:68
ActsTrk::ConstTrackContainerHandlesHelper::m_statesKey
SG::ReadHandleKey< xAOD::TrackStateContainer > m_statesKey
Definition: TrackContainerHandlesHelper.h:111
xAOD::TrackStateAuxContainer_v1
Definition: TrackStateAuxContainer_v1.h:18
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MSTrackingVolumeBuilder.cxx:24
ActsTrk::MutableTrackContainerHandlesHelper::m_statesKey
SG::WriteHandleKey< xAOD::TrackStateContainer > m_statesKey
Definition: TrackContainerHandlesHelper.h:65
ActsTrk::ConstTrackContainerHandlesHelper::m_parametersKey
SG::ReadHandleKey< xAOD::TrackParametersContainer > m_parametersKey
Definition: TrackContainerHandlesHelper.h:112
ActsTrk::ConstTrackContainerHandlesHelper::ConstTrackContainerHandlesHelper
ConstTrackContainerHandlesHelper(PropOwner *owner)
Constructor taking the pointer to the class holding the object used to declare the data dependency fr...
ActsTrk::ConstTrackContainerHandlesHelper::m_surfacesKey
SG::ReadHandleKey< xAOD::TrackSurfaceContainer > m_surfacesKey
Definition: TrackContainerHandlesHelper.h:115
TrackMeasurementContainer.h