201 {
202
203 DataLink<xAOD::TrackStateAuxContainer> statesLink(
m_statesKey.key() +
"Aux.",
204 evtContext);
205 if (not statesLink.isValid()) {
206 throw std::runtime_error(
207 "ConstMultiTrajectoryHandle::build, StatesLink is invalid");
208 }
209
210
211
214
215 DataLink<xAOD::TrackParametersAuxContainer> parametersLink(
217 if (not parametersLink.isValid()) {
218 throw std::runtime_error(
219 "ConstMultiTrajectoryHandle::build, ParametersLink is invalid");
220 }
221
222 DataLink<xAOD::TrackJacobianAuxContainer> jacobiansLink(
224 if (not jacobiansLink.isValid()) {
225 throw std::runtime_error(
226 "ConstMultiTrajectoryHandle::build, JacobiansLink is invalid");
227 }
228
229 DataLink<xAOD::TrackMeasurementAuxContainer> measurementsLink(
231 if (not measurementsLink.isValid()) {
232 throw std::runtime_error(
233 "ConstMultiTrajectoryHandle::build, MeasurementsLink is invalid");
234 }
235
236 DataLink<xAOD::TrackSurfaceAuxContainer> surfacesLink(
238 if (not surfacesLink.isValid()) {
239 throw std::runtime_error(
240 "ConstMultiTrajectoryHandle::build, SurfacesLink is invalid");
241 }
242
243
244 auto cmtj = std::make_unique<ActsTrk::MultiTrajectory>(
245 statesLink, parametersLink, jacobiansLink, measurementsLink, surfacesLink);
246 cmtj->fillSurfaces(geo);
247 return cmtj;
248}
#define ATLAS_THREAD_SAFE
SG::ReadHandleKey< xAOD::TrackMeasurementContainer > m_measurementsKey
SG::ReadHandleKey< xAOD::TrackSurfaceContainer > m_surfacesKey
SG::ReadHandleKey< xAOD::TrackStateContainer > m_statesKey
void restoreUncalibMeasurementPtr(xAOD::TrackStateAuxContainer &statesLink) const
SG::ReadHandleKey< xAOD::TrackJacobianContainer > m_jacobiansKey
SG::ReadHandleKey< xAOD::TrackParametersContainer > m_parametersKey
TrackStateAuxContainer_v1 TrackStateAuxContainer