203 {
204
205 DataLink<xAOD::TrackStateAuxContainer> statesLink(
m_statesKey.key() +
"Aux.",
206 evtContext);
207 if (not statesLink.isValid()) {
208 throw std::runtime_error(
209 "ConstMultiTrajectoryHandle::build, StatesLink is invalid");
210 }
211
212
213
216
217 DataLink<xAOD::TrackParametersAuxContainer> parametersLink(
219 if (not parametersLink.isValid()) {
220 throw std::runtime_error(
221 "ConstMultiTrajectoryHandle::build, ParametersLink is invalid");
222 }
223
224 DataLink<xAOD::TrackJacobianAuxContainer> jacobiansLink(
226 if (not jacobiansLink.isValid()) {
227 throw std::runtime_error(
228 "ConstMultiTrajectoryHandle::build, JacobiansLink is invalid");
229 }
230
231 DataLink<xAOD::TrackMeasurementAuxContainer> measurementsLink(
233 if (not measurementsLink.isValid()) {
234 throw std::runtime_error(
235 "ConstMultiTrajectoryHandle::build, MeasurementsLink is invalid");
236 }
237
238 DataLink<xAOD::TrackSurfaceAuxContainer> surfacesLink(
240 if (not surfacesLink.isValid()) {
241 throw std::runtime_error(
242 "ConstMultiTrajectoryHandle::build, SurfacesLink is invalid");
243 }
244
245
246 auto cmtj = std::make_unique<ActsTrk::MultiTrajectory>(
247 statesLink, parametersLink, jacobiansLink, measurementsLink, surfacesLink);
248 cmtj->fillSurfaces(geo);
249 return cmtj;
250}
#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