ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsEventCnv
src
TrkToActsConvertorAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrkToActsConvertorAlg.h
"
6
7
#include "Acts/EventData/VectorTrackContainer.hpp"
8
#include "
xAODTracking/TrackJacobianAuxContainer.h
"
9
#include "
xAODTracking/TrackMeasurementAuxContainer.h
"
10
#include "
xAODTracking/TrackParametersAuxContainer.h
"
11
#include "
xAODTracking/TrackStateAuxContainer.h
"
12
#include "
ActsEvent/MultiTrajectory.h
"
13
14
StatusCode
ActsTrk::TrkToActsConvertorAlg::initialize
() {
15
ATH_CHECK
(
m_trackCollectionKeys
.initialize());
16
ATH_CHECK
(
m_trackContainerKey
.initialize());
17
ATH_CHECK
(
m_ATLASConverterTool
.retrieve());
18
ATH_CHECK
(
m_trackContainerBackendsHelper
.initialize(
ActsTrk::prefixFromTrackContainerName
(
m_trackContainerKey
.key())));
19
return
StatusCode::SUCCESS;
20
}
21
22
StatusCode
ActsTrk::TrkToActsConvertorAlg::execute
(
23
const
EventContext& ctx)
const
{
24
25
ATH_MSG_VERBOSE
(
"About to create trackContainer"
);
26
Acts::VectorTrackContainer trackBackend;
27
Acts::VectorMultiTrajectory trackStateBackend;
28
ActsTrk::MutableTrackContainer
tc
( std::move(trackBackend),
29
std::move(trackStateBackend) );
30
31
ATH_MSG_VERBOSE
(
"Loop over track collections"
);
32
for
(
auto
handle :
m_trackCollectionKeys
.makeHandles(ctx)) {
33
ATH_CHECK
(handle.isValid());
34
ATH_MSG_VERBOSE
(
"Got back "
<< handle->size() <<
" tracks from "
<< handle.key());
35
36
m_ATLASConverterTool
->convertTrkToActsContainer(ctx, *handle,
tc
);
37
ATH_MSG_VERBOSE
(
"multiTraj has "
<<
tc
.trackStateContainer().size() <<
" states"
);
38
}
39
40
Acts::ConstVectorTrackContainer ctrackBackend( std::move(
tc
.container()) );
41
Acts::ConstVectorMultiTrajectory ctrackStateBackend( std::move(
tc
.trackStateContainer()) );
42
std::unique_ptr< ActsTrk::TrackContainer > constTrackContainer = std::make_unique< ActsTrk::TrackContainer >( std::move(ctrackBackend),
43
std::move(ctrackStateBackend) );
44
45
auto
trackContainerHandle =
SG::makeHandle
(
m_trackContainerKey
, ctx);
46
ATH_MSG_VERBOSE
(
"Saving "
<< constTrackContainer->size() <<
" tracks to "
<< trackContainerHandle.key());
47
ATH_CHECK
(trackContainerHandle.record(std::move(constTrackContainer)));
48
return
StatusCode::SUCCESS;
49
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition
AthMsgStreamMacros.h:28
tc
static Double_t tc
Definition
LArPhysWaveHECTool.cxx:38
MultiTrajectory.h
TrackJacobianAuxContainer.h
TrackMeasurementAuxContainer.h
TrackParametersAuxContainer.h
TrackStateAuxContainer.h
TrkToActsConvertorAlg.h
ActsTrk::TrkToActsConvertorAlg::initialize
virtual StatusCode initialize() override
Definition
TrkToActsConvertorAlg.cxx:14
ActsTrk::TrkToActsConvertorAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
TrkToActsConvertorAlg.cxx:22
ActsTrk::TrkToActsConvertorAlg::m_trackContainerBackendsHelper
ActsTrk::MutableTrackContainerHandlesHelper m_trackContainerBackendsHelper
Definition
TrkToActsConvertorAlg.h:36
ActsTrk::TrkToActsConvertorAlg::m_trackCollectionKeys
SG::ReadHandleKeyArray< TrackCollection > m_trackCollectionKeys
Definition
TrkToActsConvertorAlg.h:30
ActsTrk::TrkToActsConvertorAlg::m_trackContainerKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_trackContainerKey
Definition
TrkToActsConvertorAlg.h:35
ActsTrk::TrkToActsConvertorAlg::m_ATLASConverterTool
ToolHandle< ITrackConverterTool > m_ATLASConverterTool
Definition
TrkToActsConvertorAlg.h:29
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
ActsTrk::MutableTrackContainer
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
Definition
TrackContainer.h:25
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition
ReadCondHandle.h:269
Generated on
for ATLAS Offline Software by
1.17.0