ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsEvent
ActsEvent
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"
11
#include "
ActsEvent/MultiTrajectory.h
"
12
#include "
ActsEvent/PersistentTrackContainer.h
"
13
#include "
ActsEvent/TrackSummaryContainer.h
"
14
#include "
ActsGeometryInterfaces/GeometryContext.h
"
15
#include "GaudiKernel/StatusCode.h"
16
#include "
StoreGate/WriteHandleKey.h
"
17
#include "
StoreGate/ReadHandleKey.h
"
18
#include "
xAODTracking/TrackStateContainer.h
"
19
#include "
xAODTracking/TrackJacobianContainer.h
"
20
#include "
xAODTracking/TrackMeasurementContainer.h
"
21
#include "
xAODTracking/TrackParametersContainer.h
"
22
#include "
xAODTracking/TrackSurfaceContainer.h
"
23
#include "
xAODTracking/TrackSummaryContainer.h
"
24
25
namespace
ActsTrk
{
26
31
std::string
prefixFromTrackContainerName
(
const
std::string& tracks);
32
33
class
MutableTrackContainerHandlesHelper
{
34
public
:
35
41
template
<
class
PropOwner>
42
MutableTrackContainerHandlesHelper
(PropOwner* owner);
43
49
StatusCode
initialize
(
const
std::string& prefix);
50
58
std::unique_ptr<ActsTrk::PersistentTrackContainer>
moveToConst
(
59
ActsTrk::MutablePersistentTrackContainer
&&
tc
,
60
const
Acts::GeometryContext& geoContext,
61
const
EventContext& evtContext)
const
;
62
63
private
:
64
// MTJ part
65
SG::WriteHandleKey<xAOD::TrackStateContainer>
m_statesKey
;
66
SG::WriteHandleKey<xAOD::TrackParametersContainer>
m_parametersKey
;
67
SG::WriteHandleKey<xAOD::TrackJacobianContainer>
m_jacobiansKey
;
68
SG::WriteHandleKey<xAOD::TrackMeasurementContainer>
m_measurementsKey
;
69
SG::WriteHandleKey<xAOD::TrackSurfaceContainer>
m_surfacesKey
;
70
SG::WriteHandleKey<ActsTrk::MultiTrajectory>
m_mtjKey
;
71
75
std::unique_ptr<ActsTrk::MultiTrajectory>
moveToConst
(
76
ActsTrk::MutableMultiTrajectory
&& mmtj,
77
const
EventContext& context)
const
;
78
79
// TrackContainer part
80
SG::WriteHandleKey<xAOD::TrackSummaryContainer>
m_xAODTrackSummaryKey
;
81
SG::WriteHandleKey<xAOD::TrackSurfaceContainer>
m_trackSurfacesKey
;
82
SG::WriteHandleKey<ActsTrk::TrackSummaryContainer>
m_trackSummaryKey
;
83
};
84
85
class
ConstTrackContainerHandlesHelper
{
86
public
:
92
StatusCode
initialize
(
const
std::string& prefix);
93
99
template
<
class
PropOwner>
100
ConstTrackContainerHandlesHelper
(PropOwner* owner);
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
109
void
restoreUncalibMeasurementPtr
(
xAOD::TrackStateAuxContainer
&statesLink)
const
;
110
// MTJ part
111
SG::ReadHandleKey<xAOD::TrackStateContainer>
m_statesKey
;
112
SG::ReadHandleKey<xAOD::TrackParametersContainer>
m_parametersKey
;
113
SG::ReadHandleKey<xAOD::TrackJacobianContainer>
m_jacobiansKey
;
114
SG::ReadHandleKey<xAOD::TrackMeasurementContainer>
m_measurementsKey
;
115
SG::ReadHandleKey<xAOD::TrackSurfaceContainer>
m_surfacesKey
;
116
117
SG::WriteHandleKey<ActsTrk::MultiTrajectory>
m_mtjKey
;
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
125
SG::ReadHandleKey<xAOD::TrackSummaryContainer>
m_xAODTrackSummaryKey
;
126
SG::ReadHandleKey<xAOD::TrackSurfaceContainer>
m_trackSurfacesKey
;
127
SG::WriteHandleKey<ActsTrk::TrackSummaryContainer>
m_trackSummaryKey
;
128
};
129
130
}
// namespace ActsTrk
131
#include "
ActsEvent/TrackContainerHandlesHelper.icc
"
132
#endif
TrackParametersContainer.h
TrackSummaryContainer.h
GeometryContext.h
tc
static Double_t tc
Definition
LArPhysWaveHECTool.cxx:38
MultiTrajectory.h
PersistentTrackContainer.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TrackContainerHandlesHelper.icc
TrackJacobianContainer.h
TrackMeasurementContainer.h
TrackStateContainer.h
TrackSurfaceContainer.h
TrackSummaryContainer.h
ActsTrk::ConstTrackContainerHandlesHelper::m_measurementsKey
SG::ReadHandleKey< xAOD::TrackMeasurementContainer > m_measurementsKey
Definition
TrackContainerHandlesHelper.h:114
ActsTrk::ConstTrackContainerHandlesHelper::build
std::unique_ptr< ActsTrk::PersistentTrackContainer > build(const Acts::TrackingGeometry *geo, const Acts::GeometryContext &geoContext, const EventContext &context) const
Definition
TrackContainerHandlesHelper.cxx:253
ActsTrk::ConstTrackContainerHandlesHelper::m_surfacesKey
SG::ReadHandleKey< xAOD::TrackSurfaceContainer > m_surfacesKey
Definition
TrackContainerHandlesHelper.h:115
ActsTrk::ConstTrackContainerHandlesHelper::m_mtjKey
SG::WriteHandleKey< ActsTrk::MultiTrajectory > m_mtjKey
Definition
TrackContainerHandlesHelper.h:117
ActsTrk::ConstTrackContainerHandlesHelper::m_statesKey
SG::ReadHandleKey< xAOD::TrackStateContainer > m_statesKey
Definition
TrackContainerHandlesHelper.h:111
ActsTrk::ConstTrackContainerHandlesHelper::restoreUncalibMeasurementPtr
void restoreUncalibMeasurementPtr(xAOD::TrackStateAuxContainer &statesLink) const
Definition
TrackContainerHandlesHelper.cxx:324
ActsTrk::ConstTrackContainerHandlesHelper::m_jacobiansKey
SG::ReadHandleKey< xAOD::TrackJacobianContainer > m_jacobiansKey
Definition
TrackContainerHandlesHelper.h:113
ActsTrk::ConstTrackContainerHandlesHelper::m_trackSummaryKey
SG::WriteHandleKey< ActsTrk::TrackSummaryContainer > m_trackSummaryKey
Definition
TrackContainerHandlesHelper.h:127
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_parametersKey
SG::ReadHandleKey< xAOD::TrackParametersContainer > m_parametersKey
Definition
TrackContainerHandlesHelper.h:112
ActsTrk::ConstTrackContainerHandlesHelper::m_trackSurfacesKey
SG::ReadHandleKey< xAOD::TrackSurfaceContainer > m_trackSurfacesKey
Definition
TrackContainerHandlesHelper.h:126
ActsTrk::ConstTrackContainerHandlesHelper::m_xAODTrackSummaryKey
SG::ReadHandleKey< xAOD::TrackSummaryContainer > m_xAODTrackSummaryKey
Definition
TrackContainerHandlesHelper.h:125
ActsTrk::ConstTrackContainerHandlesHelper::buildMtj
std::unique_ptr< ActsTrk::MultiTrajectory > buildMtj(const Acts::TrackingGeometry *geo, const EventContext &context) const
Definition
TrackContainerHandlesHelper.cxx:202
ActsTrk::MutableMultiTrajectory
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external b...
Definition
MultiTrajectory.h:77
ActsTrk::MutableTrackContainerHandlesHelper::m_parametersKey
SG::WriteHandleKey< xAOD::TrackParametersContainer > m_parametersKey
Definition
TrackContainerHandlesHelper.h:66
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:127
ActsTrk::MutableTrackContainerHandlesHelper::m_measurementsKey
SG::WriteHandleKey< xAOD::TrackMeasurementContainer > m_measurementsKey
Definition
TrackContainerHandlesHelper.h:68
ActsTrk::MutableTrackContainerHandlesHelper::m_trackSurfacesKey
SG::WriteHandleKey< xAOD::TrackSurfaceContainer > m_trackSurfacesKey
Definition
TrackContainerHandlesHelper.h:81
ActsTrk::MutableTrackContainerHandlesHelper::m_jacobiansKey
SG::WriteHandleKey< xAOD::TrackJacobianContainer > m_jacobiansKey
Definition
TrackContainerHandlesHelper.h:67
ActsTrk::MutableTrackContainerHandlesHelper::m_mtjKey
SG::WriteHandleKey< ActsTrk::MultiTrajectory > m_mtjKey
Definition
TrackContainerHandlesHelper.h:70
ActsTrk::MutableTrackContainerHandlesHelper::m_xAODTrackSummaryKey
SG::WriteHandleKey< xAOD::TrackSummaryContainer > m_xAODTrackSummaryKey
Definition
TrackContainerHandlesHelper.h:80
ActsTrk::MutableTrackContainerHandlesHelper::m_trackSummaryKey
SG::WriteHandleKey< ActsTrk::TrackSummaryContainer > m_trackSummaryKey
Definition
TrackContainerHandlesHelper.h:82
ActsTrk::MutableTrackContainerHandlesHelper::m_statesKey
SG::WriteHandleKey< xAOD::TrackStateContainer > m_statesKey
Definition
TrackContainerHandlesHelper.h:65
ActsTrk::MutableTrackContainerHandlesHelper::MutableTrackContainerHandlesHelper
MutableTrackContainerHandlesHelper(PropOwner *owner)
Constructor taking the pointer to the class holding the object used to declare the data dependency fr...
ActsTrk::MutableTrackContainerHandlesHelper::m_surfacesKey
SG::WriteHandleKey< xAOD::TrackSurfaceContainer > m_surfacesKey
Definition
TrackContainerHandlesHelper.h:69
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
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:21
xAOD::TrackStateAuxContainer
TrackStateAuxContainer_v1 TrackStateAuxContainer
Definition
TrackStateAuxContainer.h:11
initialize
void initialize()
Definition
run_EoverP.cxx:894
ActsTrk::MutablePersistentTrackContainer
Definition
PersistentTrackContainer.h:54
Generated on
for ATLAS Offline Software by
1.17.0