ATLAS Offline Software
MultiTrajectory.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef ActsEvent_MultiTrajectory_h
5 #define ActsEvent_MultiTrajectory_h
6 #include <memory>
7 #include <type_traits>
8 #include <variant>
9 #include <string_view>
10 
11 #include "Acts/EventData/MultiTrajectory.hpp"
12 #include "Acts/EventData/SourceLink.hpp"
13 #include "Acts/EventData/TrackStatePropMask.hpp"
14 #include "Acts/EventData/VectorMultiTrajectory.hpp"
15 #include "Acts/Utilities/HashedString.hpp"
16 #include "Acts/Geometry/TrackingGeometry.hpp"
18 #include "Acts/Surfaces/Surface.hpp"
19 #include "CxxUtils/concepts.h"
28 // #define DEBUG_MTJ
29 #ifdef DEBUG_MTJ
30 #define INSPECTCALL(_INFO) {std::cout << __FILE__ <<":"<<__LINE__<<" "<<__PRETTY_FUNCTION__<<" "<<_INFO<<std::endl; }
31 #else
32 #define INSPECTCALL(_INFO)
33 #endif
34 #include "ActsEvent/Decoration.h"
35 
36 namespace ActsTrk {
37 class MutableMultiTrajectory;
38 class MultiTrajectory;
39 class MutableTrackContainerHandlesHelper;
40 } // namespace ActsTrk
41 
42 namespace Acts {
43 class Surface;
44 template <typename T>
46 
47 template <typename T>
49 
50 template <typename T>
52 
53 template <>
54 struct IsReadOnlyMultiTrajectory<ActsTrk::MultiTrajectory>
55  : std::true_type {};
56 
57 template <>
58 struct IsReadOnlyMultiTrajectory<ActsTrk::MutableMultiTrajectory>
59  : std::false_type {};
60 } // namespace Acts
61 
62 namespace ActsTrk {
63 
64 using IndexType = std::uint32_t;
65 
66 using StoredSurface = std::variant<const Acts::Surface*, std::shared_ptr<const Acts::Surface>>;
67 
68 
78  : public Acts::MultiTrajectory<ActsTrk::MutableMultiTrajectory> {
79  public:
81  using TrackStateProxy = typename Acts::MultiTrajectory<
83  using ConstTrackStateProxy = typename Acts::MultiTrajectory<
85 
93 
101  ActsTrk::IndexType addTrackState_impl(Acts::TrackStatePropMask mask,
102  ActsTrk::IndexType iprevious);
103 
111  Acts::TrackStatePropMask mask);
112 
122  std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
123  std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate);
124 
133  bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
134 
142  constexpr bool hasColumn_impl(Acts::HashedString key) const;
143 
150  template <typename T>
151  void addColumn_impl(std::string_view key);
152 
160  void unset_impl(Acts::TrackStatePropMask target, ActsTrk::IndexType istate);
161 
170  Acts::TrackStatePropMask shareSource,
171  Acts::TrackStatePropMask shareTarget);
172 
181  ActsTrk::IndexType index) const {
182  return typename ConstTrackStateProxy::Parameters{m_trackParametersAux->params[index].data()};
183  }
184 
186  return typename TrackStateProxy::Parameters{m_trackParametersAux->params[index].data()};
187  }
188 
196  ActsTrk::IndexType index) const {
197  return typename ConstTrackStateProxy::Covariance{m_trackParametersAux->covMatrix[index].data()};
198  }
200  return typename TrackStateProxy::Covariance{m_trackParametersAux->covMatrix[index].data()};
201  }
202 
210  ActsTrk::IndexType index) const {
211  return typename ConstTrackStateProxy::Covariance{m_trackMeasurementsAux->covMatrix[index].data()};
212 
213  }
214 
216  return typename TrackStateProxy::Covariance{m_trackMeasurementsAux->covMatrix[index].data()};
217 
218  }
219 
228  ActsTrk::IndexType istate) const {
229  xAOD::TrackStateIndexType jacIdx = m_trackStatesAux->jacobian[istate];
230  return typename ConstTrackStateProxy::Covariance{m_trackJacobiansAux->jac[jacIdx].data()};
231  }
232 
234  xAOD::TrackStateIndexType jacIdx = m_trackStatesAux->jacobian[istate];
235  return typename TrackStateProxy::Covariance{m_trackJacobiansAux->jac[jacIdx].data()};
236  }
237 
245  template <std::size_t measdim>
246  inline typename ConstTrackStateProxy::template Calibrated<measdim>
248  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
249  return typename ConstTrackStateProxy::template Calibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
250  }
251 
252  template <std::size_t measdim, bool Enable = true>
253  std::enable_if_t<Enable,
254  typename TrackStateProxy::template Calibrated<measdim>>
256  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
257  return typename TrackStateProxy::template Calibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
258  }
259 
267  template <std::size_t measdim>
268  inline typename ConstTrackStateProxy::template CalibratedCovariance<measdim>
270  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
271  return ConstTrackStateProxy::template CalibratedCovariance<measdim>{m_trackMeasurementsAux->covMatrix[measIdx].data()};
272  }
273  template <std::size_t measdim, bool Enable = true>
274  std::enable_if_t<
275  Enable, typename TrackStateProxy::template CalibratedCovariance<measdim>>
277  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
278  return TrackStateProxy::template CalibratedCovariance<measdim>{m_trackMeasurementsAux->covMatrix[measIdx].data()};
279  }
280 
287  inline Acts::TrackIndexType size_impl() const {
288  return m_trackStatesSize;
289  }
290 
295  void clear_impl();
296 
301  bool has_backends() const;
302 
306  template <typename val_t, typename cov_t>
307  void allocateCalibrated_impl(IndexType istate,
308  const Eigen::DenseBase<val_t>& val,
309  const Eigen::DenseBase<cov_t>& cov)
310  requires(Eigen::PlainObjectBase<val_t>::RowsAtCompileTime > 0 &&
311  Eigen::PlainObjectBase<val_t>::RowsAtCompileTime <= Acts::eBoundSize &&
312  Eigen::PlainObjectBase<val_t>::RowsAtCompileTime ==
313  Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime &&
314  Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime ==
315  Eigen::PlainObjectBase<cov_t>::ColsAtCompileTime);
316 
321 
326  const Acts::SourceLink& sourceLink);
327 
331  typename Acts::SourceLink getUncalibratedSourceLink_impl(
332  ActsTrk::IndexType istate) const;
333 
335  std::shared_ptr<const Acts::Surface>);
336  const Acts::Surface* referenceSurface_impl(IndexType ) const;
337 
346  Acts::HashedString key,
347  const std::any& src_ptr);
351  std::vector<Acts::HashedString> dynamicKeys_impl() const;
352 
353  // access to some backends (for debugging purposes)
354  // the receiver should not assume ownership or similar
356 
358  return m_trackParametersAux.get();
359  }
361  return m_trackParametersAux.get();
362  }
363 
365  return m_trackJacobiansAux.get();
366  }
367 
369  return m_trackMeasurementsAux.get();
370  }
371 
373  return m_surfacesBackendAux.get();
374  }
375 
376  static const std::set<std::string> s_staticVariables;
377 
379 
380  private:
381 
382  std::unique_ptr<xAOD::TrackStateAuxContainer> m_trackStatesAux;
383  size_t m_trackStatesSize = 0;
384 
385  std::unique_ptr<xAOD::TrackParametersAuxContainer> m_trackParametersAux;
387 
388  std::unique_ptr<xAOD::TrackJacobianAuxContainer> m_trackJacobiansAux;
390 
391  std::unique_ptr<xAOD::TrackMeasurementAuxContainer> m_trackMeasurementsAux;
393 
394  std::unique_ptr<xAOD::TrackSurfaceContainer> m_surfacesBackend;
395  std::unique_ptr<xAOD::TrackSurfaceAuxContainer> m_surfacesBackendAux;
396  std::vector<ActsTrk::detail::Decoration> m_decorations;
397 
398  std::vector<std::optional<Acts::SourceLink>> m_calibratedSourceLinks;
399  std::vector<std::optional<Acts::SourceLink>> m_uncalibratedSourceLinks;
400 
401  std::vector<StoredSurface> m_surfaces;
403 
405 
406  // adjust preallocated size to actually used
407  void trim();
408 };
409 
416  : public Acts::MultiTrajectory<MultiTrajectory> {
417  public:
418 
425 
427 
428  bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
429 
430  std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
431 
432  bool hasColumn_impl(Acts::HashedString key) const;
433 
435  ActsTrk::IndexType index) const {
436  return typename ConstTrackStateProxy::Parameters{m_trackParametersAux->params[index].data()};
437  }
438 
440  ActsTrk::IndexType index) const {
441  return typename ConstTrackStateProxy::Covariance{m_trackParametersAux->covMatrix[index].data()};
442  }
443 
445  ActsTrk::IndexType istate) const {
446  xAOD::TrackStateIndexType jacIdx = m_trackStatesAux->jacobian[istate];
447  return typename ConstTrackStateProxy::Covariance{m_trackJacobiansAux->jac[jacIdx].data()};
448  }
449 
450  template <std::size_t measdim>
451  inline typename ConstTrackStateProxy::template Calibrated<measdim>
452  calibrated_impl(IndexType istate) const {
453  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[istate];
454  return typename ConstTrackStateProxy::template Calibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
455  }
456 
457  template <std::size_t measdim>
458  inline typename ConstTrackStateProxy::template CalibratedCovariance<measdim>
460  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
461  return typename ConstTrackStateProxy::template CalibratedCovariance<measdim>{m_trackMeasurementsAux->covMatrix[measIdx].data()};
462  }
463  inline Acts::TrackIndexType size_impl() const { return m_trackStatesAux->size(); }
464 
466  typename Acts::SourceLink getUncalibratedSourceLink_impl(ActsTrk::IndexType istate) const;
467 
468  const Acts::Surface* referenceSurface_impl(IndexType) const;
469 
474  void fillSurfaces(const Acts::TrackingGeometry* geo, const Acts::GeometryContext& geoContext );
479 
481 
482  std::vector<Acts::HashedString> dynamicKeys_impl() const;
483 
484  private:
490  std::vector<ActsTrk::detail::Decoration> m_decorations;
491 
492  // TODO remove once tracking code switches to sourceLinks with EL
493  std::vector<std::optional<Acts::SourceLink>> m_calibratedSourceLinks;
494  // still need this to store SourceLinks with other payloads than
495  // pointer to xAOD::UncalibratedMeasurement e.g. pointer to Trk::Measurements
496  // when converting Trk::Tracks to Acts tracks.
497  std::vector<std::optional<Acts::SourceLink>> m_uncalibratedSourceLinks;
498 
499  std::vector<StoredSurface> m_surfaces;
500 
502 };
503 
504 
509 template<typename IFACE, typename AUX>
510 std::unique_ptr<IFACE> makeInterfaceContainer(const AUX* aux) {
511  auto interface = std::make_unique<IFACE>();
512  for ( size_t i = 0, sz = aux->size(); i < sz; ++i) {
513  interface->emplace_back( new std::remove_pointer_t<typename IFACE::value_type>() );
514  }
515  interface->setStore(aux);
516  return interface;
517 }
518 
519 
520 } // namespace ActsTrk
521 
522 #include "MultiTrajectory.icc"
523 
524 
525 #include "AthenaKernel/CLASS_DEF.h"
526 CLASS_DEF( ActsTrk::MultiTrajectory , 51219308 , 1 )
527 
528 // These two lines shouldn't be here, but necessary until we have a proper
529 // solution
530 #include "Acts/EventData/VectorTrackContainer.hpp"
531 CLASS_DEF(Acts::ConstVectorTrackContainer, 1074811884, 1)
532 
533 #endif
ActsTrk::MultiTrajectory::has_impl
bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:646
ActsTrk::MultiTrajectory::m_surfaces
std::vector< StoredSurface > m_surfaces
Definition: MultiTrajectory.h:499
ActsTrk::MutableMultiTrajectory::m_trackJacobiansSize
size_t m_trackJacobiansSize
Definition: MultiTrajectory.h:389
xAOD::TrackMeasurementAuxContainer_v1
Definition: TrackMeasurementAuxContainer_v1.h:12
ActsTrk::MutableMultiTrajectory::TrackStateProxy
typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::TrackStateProxy TrackStateProxy
Definition: MultiTrajectory.h:82
TrackStateAuxContainer.h
ActsTrk::MutableMultiTrajectory::m_trackStatesIface
xAOD::TrackStateContainer m_trackStatesIface
Definition: MultiTrajectory.h:404
fitman.sz
sz
Definition: fitman.py:527
ActsTrk::MutableMultiTrajectory::trackJacobiansAux
xAOD::TrackJacobianAuxContainer * trackJacobiansAux()
Definition: MultiTrajectory.h:364
ActsTrk::MutableMultiTrajectory::m_surfaces
std::vector< StoredSurface > m_surfaces
Definition: MultiTrajectory.h:401
ActsTrk::MutableMultiTrajectory::component_impl
std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
Access component by key.
Definition: MultiTrajectory.cxx:416
MuonR4::SegmentFit::Parameters
AmgVector(toInt(ParamDefs::nPars)) Parameters
Definition: MuonHoughDefs.h:48
ActsTrk::MutableMultiTrajectory::setUncalibratedSourceLink_impl
void setUncalibratedSourceLink_impl(ActsTrk::IndexType istate, const Acts::SourceLink &sourceLink)
Implementation of uncalibrated link insertion.
Definition: MultiTrajectory.cxx:522
ActsTrk::StoredSurface
std::variant< const Acts::Surface *, std::shared_ptr< const Acts::Surface > > StoredSurface
Definition: MultiTrajectory.h:66
ActsGeometryContext.h
ActsTrk::MutableMultiTrajectory::parameters_impl
ConstTrackStateProxy::Parameters parameters_impl(ActsTrk::IndexType index) const
obtains proxy to the track state under given index
Definition: MultiTrajectory.h:180
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
xAOD::TrackJacobianAuxContainer_v1
Definition: TrackJacobianAuxContainer_v1.h:11
ActsTrk::MutableMultiTrajectory::m_decorations
std::vector< ActsTrk::detail::Decoration > m_decorations
Definition: MultiTrajectory.h:396
index
Definition: index.py:1
ActsTrk::MutableMultiTrajectory::covariance_impl
ConstTrackStateProxy::Covariance covariance_impl(ActsTrk::IndexType index) const
obtain covariances for a state at given index
Definition: MultiTrajectory.h:195
ActsTrk::MutableMultiTrajectory::jacobian_impl
TrackStateProxy::Covariance jacobian_impl(ActsTrk::IndexType istate)
Definition: MultiTrajectory.h:233
ActsTrk::MutableMultiTrajectory::referenceSurface_impl
const Acts::Surface * referenceSurface_impl(IndexType) const
Definition: MultiTrajectory.cxx:574
taskman.template
dictionary template
Definition: taskman.py:317
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
ActsTrk::MutableMultiTrajectory::m_trackParametersAux
std::unique_ptr< xAOD::TrackParametersAuxContainer > m_trackParametersAux
Definition: MultiTrajectory.h:385
TrackSurfaceAuxContainer.h
ActsTrk::MultiTrajectory::component_impl
std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:666
ActsTrk::makeInterfaceContainer
std::unique_ptr< IFACE > makeInterfaceContainer(const AUX *aux)
helper to construct interface container for already filled Aux container TODO maybe should be moved t...
Definition: MultiTrajectory.h:510
requires
requires requires()
This specialization is used for classes deriving from DataObject.
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:68
ActsTrk::MutableMultiTrajectory::trackMeasurementsCov
ConstTrackStateProxy::Covariance trackMeasurementsCov(ActsTrk::IndexType index) const
obtain measurement covariances for a state at given index
Definition: MultiTrajectory.h:209
ActsTrk::MultiTrajectory
Read only version of MTJ The implementation is separate as the details are significantly different an...
Definition: MultiTrajectory.h:416
ActsTrk::MultiTrajectory::m_trackMeasurementsAux
const DataLink< xAOD::TrackMeasurementAuxContainer > m_trackMeasurementsAux
Definition: MultiTrajectory.h:488
xAOD::TrackSurfaceAuxContainer_v1
Definition: TrackSurfaceAuxContainer_v1.h:12
ActsTrk::MutableMultiTrajectory::size_impl
Acts::TrackIndexType size_impl() const
size of the MTJ
Definition: MultiTrajectory.h:287
ActsTrk::MutableMultiTrajectory::addTrackState_impl
ActsTrk::IndexType addTrackState_impl(Acts::TrackStatePropMask mask, ActsTrk::IndexType iprevious)
Add state with stograge for data that depends on the mask.
Definition: MultiTrajectory.cxx:142
ActsTrk::MultiTrajectory::size_impl
Acts::TrackIndexType size_impl() const
Definition: MultiTrajectory.h:463
ActsTrk::MultiTrajectory::hasColumn_impl
bool hasColumn_impl(Acts::HashedString key) const
Definition: MultiTrajectory.cxx:711
ActsTrk::MutableMultiTrajectory::parameters_impl
TrackStateProxy::Parameters parameters_impl(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:185
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
ActsTrk::MutableMultiTrajectory::trackMeasurementsAux
xAOD::TrackMeasurementAuxContainer * trackMeasurementsAux()
Definition: MultiTrajectory.h:368
ActsTrk::MultiTrajectory::m_trackStatesIface
xAOD::TrackStateContainer m_trackStatesIface
Definition: MultiTrajectory.h:501
ActsTrk::MutableMultiTrajectory::has_backends
bool has_backends() const
checks if the backends are connected (i.e.
Definition: MultiTrajectory.cxx:129
ActsTrk::MutableMultiTrajectory::m_calibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_calibratedSourceLinks
Definition: MultiTrajectory.h:398
ActsTrk::MultiTrajectory::m_calibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_calibratedSourceLinks
Definition: MultiTrajectory.h:493
ActsTrk::MutableMultiTrajectory
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external b...
Definition: MultiTrajectory.h:78
ActsTrk::MutableMultiTrajectory::has_impl
bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
checks if given state has requested component
Definition: MultiTrajectory.cxx:466
ActsTrk::MutableMultiTrajectory::trackParametersAux
const xAOD::TrackParametersAuxContainer * trackParametersAux() const
Definition: MultiTrajectory.h:357
TrackStateContainer.h
ActsTrk::MutableMultiTrajectory::m_trackMeasurementsAux
std::unique_ptr< xAOD::TrackMeasurementAuxContainer > m_trackMeasurementsAux
Definition: MultiTrajectory.h:391
ActsTrk::MutableMultiTrajectory::s_staticVariables
static const std::set< std::string > s_staticVariables
Definition: MultiTrajectory.h:376
ActsTrk::MultiTrajectory::MultiTrajectory
MultiTrajectory(DataLink< xAOD::TrackStateAuxContainer > trackStates, DataLink< xAOD::TrackParametersAuxContainer > trackParameters, DataLink< xAOD::TrackJacobianAuxContainer > trackJacobians, DataLink< xAOD::TrackMeasurementAuxContainer > trackMeasurements, DataLink< xAOD::TrackSurfaceAuxContainer > trackSurfaces)
Definition: MultiTrajectory.cxx:616
ActsTrk::MultiTrajectory::calibratedSize_impl
ActsTrk::IndexType calibratedSize_impl(ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:741
ActsTrk::MultiTrajectory::m_uncalibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_uncalibratedSourceLinks
Definition: MultiTrajectory.h:497
ActsTrk::IndexType
std::uint32_t IndexType
Definition: Decoration.h:14
ActsTrk::MutableMultiTrajectory::trackMeasurementsCov
TrackStateProxy::Covariance trackMeasurementsCov(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:215
ActsTrk::MutableMultiTrajectory::calibratedCovariance_impl
ConstTrackStateProxy::template CalibratedCovariance< measdim > calibratedCovariance_impl(ActsTrk::IndexType index) const
obtain measurements covariance for a state at given index
Definition: MultiTrajectory.h:269
ActsTrk::MultiTrajectory::referenceSurface_impl
const Acts::Surface * referenceSurface_impl(IndexType) const
Definition: MultiTrajectory.cxx:786
Acts
Definition: ChamberAssembleTool.h:18
ActsTrk::MultiTrajectory::m_trackSurfacesAux
const DataLink< xAOD::TrackSurfaceAuxContainer > m_trackSurfacesAux
Definition: MultiTrajectory.h:489
lumiFormat.i
int i
Definition: lumiFormat.py:85
ActsTrk::MutableMultiTrajectory::m_uncalibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_uncalibratedSourceLinks
Definition: MultiTrajectory.h:399
ActsTrk::MutableMultiTrajectory::addTrackStateComponents_impl
void addTrackStateComponents_impl(ActsTrk::IndexType istate, Acts::TrackStatePropMask mask)
Add state components for the given mask.
Definition: MultiTrajectory.cxx:218
ActsTrk::MutableMultiTrajectory::m_surfacesBackendAux
std::unique_ptr< xAOD::TrackSurfaceAuxContainer > m_surfacesBackendAux
Definition: MultiTrajectory.h:395
ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory
MutableMultiTrajectory(ActsTrk::MutableMultiTrajectory &&other)=default
ActsTrk::MutableMultiTrajectory::ConstTrackStateProxy
typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::ConstTrackStateProxy ConstTrackStateProxy
Definition: MultiTrajectory.h:84
ActsTrk::MutableTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:33
ActsTrk::MutableMultiTrajectory::shareFrom_impl
void shareFrom_impl(ActsTrk::IndexType iself, ActsTrk::IndexType iother, Acts::TrackStatePropMask shareSource, Acts::TrackStatePropMask shareTarget)
shares from a given state
Definition: MultiTrajectory.cxx:283
ActsTrk::MultiTrajectory::dynamicKeys_impl
std::vector< Acts::HashedString > dynamicKeys_impl() const
Definition: MultiTrajectory.cxx:755
ActsTrk::MutableMultiTrajectory::trim
void trim()
Definition: MultiTrajectory.cxx:603
ActsTrk::MultiTrajectory::m_trackParametersAux
const DataLink< xAOD::TrackParametersAuxContainer > m_trackParametersAux
Definition: MultiTrajectory.h:486
TrackSurfaceContainer.h
ActsTrk::MultiTrajectory::m_decorations
std::vector< ActsTrk::detail::Decoration > m_decorations
Definition: MultiTrajectory.h:490
ActsTrk::MutableMultiTrajectory::calibrated_impl
std::enable_if_t< Enable, typename TrackStateProxy::template Calibrated< measdim > > calibrated_impl(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:255
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
ActsTrk::MutableMultiTrajectory::getUncalibratedSourceLink_impl
Acts::SourceLink getUncalibratedSourceLink_impl(ActsTrk::IndexType istate) const
Implementation of uncalibrated link fetch.
Definition: MultiTrajectory.cxx:793
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
ActsTrk::MultiTrajectory::m_trackStatesAux
const DataLink< xAOD::TrackStateAuxContainer > m_trackStatesAux
Definition: MultiTrajectory.h:485
xAOD::TrackStateIndexType
uint32_t TrackStateIndexType
Definition: TrackState_v1.h:15
ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory
MutableMultiTrajectory()
Construct a new Multi Trajectory object owning backends.
Definition: MultiTrajectory.cxx:94
ActsTrk::MultiTrajectory::moveLinks
void moveLinks(const ActsTrk::MutableMultiTrajectory *mtj)
Definition: MultiTrajectory.cxx:750
ActsTrk::MutableMultiTrajectory::covariance_impl
TrackStateProxy::Covariance covariance_impl(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:199
ActsTrk::MutableMultiTrajectory::operator=
MutableMultiTrajectory & operator=(const ActsTrk::MutableMultiTrajectory &other)=delete
ActsTrk::MutableMultiTrajectory::m_trackStatesSize
size_t m_trackStatesSize
Definition: MultiTrajectory.h:383
columnar::final
CM final
Definition: ColumnAccessor.h:106
ActsTrk::MultiTrajectory::getUncalibratedSourceLink_impl
Acts::SourceLink getUncalibratedSourceLink_impl(ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:810
ActsTrk::MutableMultiTrajectory::copyDynamicFrom_impl
void copyDynamicFrom_impl(ActsTrk::IndexType istate, Acts::HashedString key, const std::any &src_ptr)
copy dynamic data from another MTJ
Definition: MultiTrajectory.cxx:579
TrackMeasurementAuxContainer.h
ActsTrk::MutableMultiTrajectory::m_trackStatesAux
std::unique_ptr< xAOD::TrackStateAuxContainer > m_trackStatesAux
Definition: MultiTrajectory.h:382
ActsTrk::MutableMultiTrajectory::hasColumn_impl
constexpr bool hasColumn_impl(Acts::HashedString key) const
checks if MTJ has requested column (irrespectively of the state)
ActsTrk::MultiTrajectory::calibratedCovariance_impl
ConstTrackStateProxy::template CalibratedCovariance< measdim > calibratedCovariance_impl(IndexType index) const
Definition: MultiTrajectory.h:459
ActsTrk::MultiTrajectory::parameters_impl
ConstTrackStateProxy::Parameters parameters_impl(ActsTrk::IndexType index) const
Definition: MultiTrajectory.h:434
ActsTrk::MutableMultiTrajectory::trackSurfacesAux
xAOD::TrackSurfaceAuxContainer * trackSurfacesAux()
Definition: MultiTrajectory.h:372
concepts.h
A couple standard-library related concepts.
ActsTrk::MultiTrajectory::fillSurfaces
void fillSurfaces(const Acts::TrackingGeometry *geo, const Acts::GeometryContext &geoContext)
Fill surfaces either from persistency or from geometry If the surfaces are already there it means tha...
Definition: MultiTrajectory.cxx:764
ActsTrk::MutableMultiTrajectory::m_trackMeasurementsSize
size_t m_trackMeasurementsSize
Definition: MultiTrajectory.h:392
ActsTrk::MutableMultiTrajectory::m_surfacesBackend
std::unique_ptr< xAOD::TrackSurfaceContainer > m_surfacesBackend
Definition: MultiTrajectory.h:394
DeMoScan.index
string index
Definition: DeMoScan.py:364
MultiTrajectory.icc
MuonR4::SegmentFit::Covariance
AmgSymMatrix(toInt(ParamDefs::nPars)) Covariance
Definition: MuonHoughDefs.h:49
xAOD::TrackParametersAuxContainer_v1
Definition: TrackParametersAuxContainer_v1.h:12
ActsTrk::MutableMultiTrajectory::trackStatesAux
xAOD::TrackStateAuxContainer * trackStatesAux()
Definition: MultiTrajectory.h:355
Decoration.h
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
ActsTrk::MutableMultiTrajectory::calibratedCovariance_impl
std::enable_if_t< Enable, typename TrackStateProxy::template CalibratedCovariance< measdim > > calibratedCovariance_impl(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:276
ActsTrk::MutableMultiTrajectory::addColumn_impl
void addColumn_impl(std::string_view key)
enables particular decoration, type & name need to be specified
ActsTrk::MutableMultiTrajectory::calibratedSize_impl
void allocateCalibrated_impl(IndexType istate, const Eigen::DenseBase< val_t > &val, const Eigen::DenseBase< cov_t > &cov) requires(Eigen ActsTrk::IndexType calibratedSize_impl(ActsTrk::IndexType istate) const
Implementation of allocation of calibrated measurements.
Definition: MultiTrajectory.h:320
LArCellConditions.geo
bool geo
Definition: LArCellConditions.py:46
copySelective.target
string target
Definition: copySelective.py:37
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
ActsTrk::MutableMultiTrajectory::m_geoContext
ActsGeometryContext m_geoContext
Definition: MultiTrajectory.h:402
ActsTrk::MutableMultiTrajectory::m_trackJacobiansAux
std::unique_ptr< xAOD::TrackJacobianAuxContainer > m_trackJacobiansAux
Definition: MultiTrajectory.h:388
xAOD::TrackStateAuxContainer_v1
Definition: TrackStateAuxContainer_v1.h:18
ActsTrk::MutableMultiTrajectory::setReferenceSurface_impl
void setReferenceSurface_impl(IndexType, std::shared_ptr< const Acts::Surface >)
Definition: MultiTrajectory.cxx:548
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:55
ActsTrk::MutableMultiTrajectory::trackParametersAux
xAOD::TrackParametersAuxContainer * trackParametersAux()
Definition: MultiTrajectory.h:360
ActsTrk::MultiTrajectory::moveSurfaces
void moveSurfaces(const ActsTrk::MutableMultiTrajectory *mtj)
reuse surfaces from MutableMultiTrajectory
Definition: MultiTrajectory.cxx:745
ActsTrk::MutableMultiTrajectory::calibrated_impl
ConstTrackStateProxy::template Calibrated< measdim > calibrated_impl(ActsTrk::IndexType index) const
obtain calibrated measurements for a state at given index
Definition: MultiTrajectory.h:247
ActsTrk::MutableMultiTrajectory::jacobian_impl
ConstTrackStateProxy::Covariance jacobian_impl(ActsTrk::IndexType istate) const
obtain jacobian for a state at given index
Definition: MultiTrajectory.h:227
TrackJacobianAuxContainer.h
ActsTrk::MultiTrajectory::covariance_impl
ConstTrackStateProxy::Covariance covariance_impl(ActsTrk::IndexType index) const
Definition: MultiTrajectory.h:439
ActsTrk::MutableMultiTrajectory::dynamicKeys_impl
std::vector< Acts::HashedString > dynamicKeys_impl() const
returns the keys of all the dynamic columns
Definition: MultiTrajectory.cxx:593
CLASS_DEF.h
macros to associate a CLID to a type
TrackParametersAuxContainer.h
ActsTrk::MutableMultiTrajectory::clear_impl
void clear_impl()
clears backends decoration columns are still declared
Definition: MultiTrajectory.cxx:494
ActsTrk::MultiTrajectory::m_trackJacobiansAux
const DataLink< xAOD::TrackJacobianAuxContainer > m_trackJacobiansAux
Definition: MultiTrajectory.h:487
ActsTrk::MutableMultiTrajectory::m_trackParametersSize
size_t m_trackParametersSize
Definition: MultiTrajectory.h:386
ActsTrk::MultiTrajectory::jacobian_impl
ConstTrackStateProxy::Covariance jacobian_impl(ActsTrk::IndexType istate) const
Definition: MultiTrajectory.h:444
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
ActsTrk::MultiTrajectory::calibrated_impl
ConstTrackStateProxy::template Calibrated< measdim > calibrated_impl(IndexType istate) const
Definition: MultiTrajectory.h:452
ActsTrk::MutableMultiTrajectory::unset_impl
void unset_impl(Acts::TrackStatePropMask target, ActsTrk::IndexType istate)
unsets a given state
Definition: MultiTrajectory.cxx:339
Acts::IsReadOnlyMultiTrajectory
Definition: MultiTrajectory.h:45
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37