#include <TrackContainerHandlesHelper.h>
◆ ConstTrackContainerHandlesHelper()
template<class PropOwner >
ActsTrk::ConstTrackContainerHandlesHelper::ConstTrackContainerHandlesHelper |
( |
PropOwner * |
owner | ) |
|
Constructor taking the pointer to the class holding the object used to declare the data dependency from the WriteHandleKeys to the AvalancheScheduler.
The object should be defined in the header like ActsTrk::ConstTrackContainerHandlesHelper m_trackHelper{this};
◆ build()
Definition at line 252 of file TrackContainerHandlesHelper.cxx.
256 std::unique_ptr<ActsTrk::MultiTrajectory> mtj =
buildMtj(
geo,evtContext);
258 if (mtjHandle.record(std::move(mtj)).isFailure()) {
259 throw std::runtime_error(
260 "ConstTrackContainerHandle<C>::build failed recording MTJ");
264 if (not summaryLink.isValid()) {
265 throw std::runtime_error(
266 "ConstTrackContainerHandle::build, SummaryLink is invalid");
270 if (not surfacesHandle.isValid()) {
271 throw std::runtime_error(
272 "ConstTrackContainerHandle::build, SurfaceHandle is invalid");
275 auto constTrackSummary = std::make_unique<ActsTrk::TrackSummaryContainer>(summaryLink);
276 constTrackSummary->decodeSurfaces( surfacesHandle.cptr());
279 if (summaryHandle.record(std::move(constTrackSummary)).isFailure()) {
280 throw std::runtime_error(
281 "MutableTrackContainerHandle::build, can't record "
285 auto constTrack = std::make_unique<ActsTrk::PersistentTrackContainer>(
◆ buildMtj()
std::unique_ptr< ActsTrk::MultiTrajectory > ActsTrk::ConstTrackContainerHandlesHelper::buildMtj |
( |
const Acts::TrackingGeometry * |
geo, |
|
|
const EventContext & |
context |
|
) |
| const |
|
private |
Definition at line 201 of file TrackContainerHandlesHelper.cxx.
206 if (not statesLink.isValid()) {
207 throw std::runtime_error(
208 "ConstMultiTrajectoryHandle::build, StatesLink is invalid");
218 if (not parametersLink.isValid()) {
219 throw std::runtime_error(
220 "ConstMultiTrajectoryHandle::build, ParametersLink is invalid");
225 if (not jacobiansLink.isValid()) {
226 throw std::runtime_error(
227 "ConstMultiTrajectoryHandle::build, JacobiansLink is invalid");
232 if (not measurementsLink.isValid()) {
233 throw std::runtime_error(
234 "ConstMultiTrajectoryHandle::build, MeasurementsLink is invalid");
239 if (not surfacesLink.isValid()) {
240 throw std::runtime_error(
241 "ConstMultiTrajectoryHandle::build, SurfacesLink is invalid");
245 auto cmtj = std::make_unique<ActsTrk::MultiTrajectory>(
246 statesLink, parametersLink, jacobiansLink, measurementsLink, surfacesLink);
247 cmtj->fillSurfaces(
geo);
◆ initialize()
StatusCode ActsTrk::ConstTrackContainerHandlesHelper::initialize |
( |
const std::string & |
prefix | ) |
|
Sets up the handles.
- prefix - common prefix for all the names the value would typically be taken from configurable string property
Definition at line 173 of file TrackContainerHandlesHelper.cxx.
197 return StatusCode::SUCCESS;
◆ restoreUncalibMeasurementPtr()
Definition at line 323 of file TrackContainerHandlesHelper.cxx.
328 const_span<link_t> elementLinks = getElementVector(statesLink, link_accessor);
331 decor(
"uncalibratedMeasurement");
333 std::span<const xAOD::UncalibratedMeasurement *> uncalibratedMeasurements
334 = createDecoration( statesLink, decor);
337 const link_t &
el = elementLinks[
index];
340 if (uncalibratedMeasurements[
index] !=
nullptr && a_measurement != uncalibratedMeasurements[
index]) {
341 throwConflictingUncalibratedMeasurementPointerValue(uncalibratedMeasurements[
index], a_measurement);
343 uncalibratedMeasurements[
index]=a_measurement;
347 std::cerr <<
"WARNING no uncalibratedMeasurementLink aux data " << std::endl;
◆ m_jacobiansKey
◆ m_measurementsKey
◆ m_mtjKey
◆ m_parametersKey
◆ m_statesKey
◆ m_surfacesKey
◆ m_trackSummaryKey
◆ m_trackSurfacesKey
◆ m_xAODTrackSummaryKey
The documentation for this class was generated from the following files: