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