35 return StatusCode::SUCCESS;
37 ATH_MSG_DEBUG(
"I received " <<myProtoTracks->size()<<
" proto-tracks");
50 const Acts::MagneticFieldContext mfContext =
m_extrapolationTool->getMagneticFieldContext(ctx);
55 Acts::VectorTrackContainer trackBackend;
56 Acts::VectorMultiTrajectory trackStateBackend;
58 std::move(trackStateBackend) );
62 for (
auto & proto : *myProtoTracks){
64 tgContext, mfContext, calContext);
67 if (
res->size() == 0 )
continue;
68 if(proto.measurements.empty())
continue;
69 ATH_MSG_DEBUG(
".......Done track with size "<< proto.measurements.size());
70 const auto trackProxy =
res->getTrack(0);
71 if (not trackProxy.hasReferenceSurface()) {
72 ATH_MSG_INFO(
"There is not reference surface for this track");
75 auto destProxy = trackContainer.getTrack(trackContainer.addTrack());
76 destProxy.copyFrom(trackProxy);
81 Acts::ConstVectorTrackContainer ctrackBackend( std::move(trackContainer.container()) );
82 Acts::ConstVectorMultiTrajectory ctrackStateBackend( std::move(trackContainer.trackStateContainer()) );
83 std::unique_ptr<ActsTrk::TrackContainer> constTracksContainer = std::make_unique<ActsTrk::TrackContainer>( std::move(ctrackBackend),
84 std::move(ctrackStateBackend) );
86 ATH_CHECK(trackContainerHandle.
record(std::move(constTracksContainer)));
88 return StatusCode::SUCCESS;