Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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"
23 #include "xAODTracking/TrackStateContainer.h" // TODO remove once decorations are fixed
28 // #define DEBUG_MTJ
29 #ifdef DEBUG_MTJ
30 inline std::string_view name_only(const char* s) {
31  return std::string_view(s+std::string_view(s).rfind('/'));
32 }
33 #define INSPECTCALL(_INFO) {std::cout << name_only(__FILE__) <<":"<<__LINE__<<" "<<__PRETTY_FUNCTION__<<" "<<_INFO<<std::endl; }
34 #else
35 #define INSPECTCALL(_INFO)
36 #endif
37 #include "ActsEvent/Decoration.h"
38 
39 namespace ActsTrk {
40 class MutableMultiTrajectory;
41 class MultiTrajectory;
42 class MutableTrackContainerHandlesHelper;
43 } // namespace ActsTrk
44 
45 namespace Acts {
46 class Surface;
47 template <typename T>
49 
50 template <typename T>
52 
53 template <typename T>
55 
56 template <>
57 struct IsReadOnlyMultiTrajectory<ActsTrk::MultiTrajectory>
58  : std::true_type {};
59 
60 template <>
61 struct IsReadOnlyMultiTrajectory<ActsTrk::MutableMultiTrajectory>
62  : std::false_type {};
63 } // namespace Acts
64 
65 namespace ActsTrk {
66 
67 using IndexType = std::uint32_t;
68 
69 using StoredSurface = std::variant<const Acts::Surface*, std::shared_ptr<const Acts::Surface>>;
70 
71 
81  : public Acts::MultiTrajectory<ActsTrk::MutableMultiTrajectory> {
82  public:
84  using TrackStateProxy = typename Acts::MultiTrajectory<
86  using ConstTrackStateProxy = typename Acts::MultiTrajectory<
88 
96 
104  ActsTrk::IndexType addTrackState_impl(Acts::TrackStatePropMask mask,
105  ActsTrk::IndexType iprevious);
106 
114  Acts::TrackStatePropMask mask);
115 
125  std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
126  std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate);
127 
136  bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
137 
145  constexpr bool hasColumn_impl(Acts::HashedString key) const;
146 
153  template <typename T>
154  void addColumn_impl(std::string_view key);
155 
163  void unset_impl(Acts::TrackStatePropMask target, ActsTrk::IndexType istate);
164 
173  Acts::TrackStatePropMask shareSource,
174  Acts::TrackStatePropMask shareTarget);
175 
184  ActsTrk::IndexType index) const {
185  return typename ConstTrackStateProxy::Parameters{m_trackParametersAux->params[index].data()};
186  }
187 
189  return typename TrackStateProxy::Parameters{m_trackParametersAux->params[index].data()};
190  }
191 
199  ActsTrk::IndexType index) const {
200  return typename ConstTrackStateProxy::Covariance{m_trackParametersAux->covMatrix[index].data()};
201  }
203  return typename TrackStateProxy::Covariance{m_trackParametersAux->covMatrix[index].data()};
204  }
205 
213  ActsTrk::IndexType index) const {
214  return typename ConstTrackStateProxy::Covariance{m_trackMeasurementsAux->covMatrix[index].data()};
215 
216  }
217 
219  return typename TrackStateProxy::Covariance{m_trackMeasurementsAux->covMatrix[index].data()};
220 
221  }
222 
231  ActsTrk::IndexType istate) const {
232  xAOD::TrackStateIndexType jacIdx = m_trackStatesAux->jacobian[istate];
233  return typename ConstTrackStateProxy::Covariance{m_trackJacobiansAux->jac[jacIdx].data()};
234  }
235 
237  xAOD::TrackStateIndexType jacIdx = m_trackStatesAux->jacobian[istate];
238  return typename TrackStateProxy::Covariance{m_trackJacobiansAux->jac[jacIdx].data()};
239  }
240 
248  template <std::size_t measdim>
249  inline typename ConstTrackStateProxy::template Calibrated<measdim>
251  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
252  return typename ConstTrackStateProxy::template Calibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
253  }
254 
255  template <std::size_t measdim, bool Enable = true>
256  std::enable_if_t<Enable,
257  typename TrackStateProxy::template Calibrated<measdim>>
259  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
260  return typename TrackStateProxy::template Calibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
261  }
262 
270  template <std::size_t measdim>
271  inline typename ConstTrackStateProxy::template CalibratedCovariance<measdim>
273  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
274  return ConstTrackStateProxy::template CalibratedCovariance<measdim>{m_trackMeasurementsAux->covMatrix[measIdx].data()};
275  }
276  template <std::size_t measdim, bool Enable = true>
277  std::enable_if_t<
278  Enable, typename TrackStateProxy::template CalibratedCovariance<measdim>>
280  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
281  return TrackStateProxy::template CalibratedCovariance<measdim>{m_trackMeasurementsAux->covMatrix[measIdx].data()};
282  }
283 
290  inline Acts::TrackIndexType size_impl() const {
291  return m_trackStatesSize;
292  }
293 
298  void clear_impl();
299 
304  bool has_backends() const;
305 
309  template <typename val_t, typename cov_t>
310  void allocateCalibrated_impl(IndexType istate,
311  const Eigen::DenseBase<val_t>& val,
312  const Eigen::DenseBase<cov_t>& cov)
313  requires(Eigen::PlainObjectBase<val_t>::RowsAtCompileTime > 0 &&
314  Eigen::PlainObjectBase<val_t>::RowsAtCompileTime <= Acts::eBoundSize &&
315  Eigen::PlainObjectBase<val_t>::RowsAtCompileTime ==
316  Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime &&
317  Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime ==
318  Eigen::PlainObjectBase<cov_t>::ColsAtCompileTime);
319 
324 
329  const Acts::SourceLink& sourceLink);
330 
334  typename Acts::SourceLink getUncalibratedSourceLink_impl(
335  ActsTrk::IndexType istate) const;
336 
338  std::shared_ptr<const Acts::Surface>);
339  const Acts::Surface* referenceSurface_impl(IndexType ) const;
340 
349  Acts::HashedString key,
350  const std::any& src_ptr);
354  std::vector<Acts::HashedString> dynamicKeys_impl() const;
355 
356  // access to some backends (for debugging purposes)
357  // the receiver should not assume ownership or similar
359 
361  return m_trackParametersAux.get();
362  }
364  return m_trackParametersAux.get();
365  }
366 
368  return m_trackJacobiansAux.get();
369  }
370 
372  return m_trackMeasurementsAux.get();
373  }
374 
376  return m_surfacesBackendAux.get();
377  }
378 
379  static const std::set<std::string> s_staticVariables;
380 
382 
383  private:
384 
385  std::unique_ptr<xAOD::TrackStateAuxContainer> m_trackStatesAux;
386  size_t m_trackStatesSize = 0;
387 
388  std::unique_ptr<xAOD::TrackParametersAuxContainer> m_trackParametersAux;
390 
391  std::unique_ptr<xAOD::TrackJacobianAuxContainer> m_trackJacobiansAux;
393 
394  std::unique_ptr<xAOD::TrackMeasurementAuxContainer> m_trackMeasurementsAux;
396 
397  std::unique_ptr<xAOD::TrackSurfaceContainer> m_surfacesBackend;
398  std::unique_ptr<xAOD::TrackSurfaceAuxContainer> m_surfacesBackendAux;
399  std::vector<ActsTrk::detail::Decoration> m_decorations;
400 
401  std::vector<std::optional<Acts::SourceLink>> m_calibratedSourceLinks;
402  std::vector<std::optional<Acts::SourceLink>> m_uncalibratedSourceLinks;
403 
404  std::vector<StoredSurface> m_surfaces;
406 
408 
409  // adjust preallocated size to actually used
410  void trim();
411 };
412 
419  : public Acts::MultiTrajectory<MultiTrajectory> {
420  public:
421 
428 
430 
431  bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
432 
433  std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
434 
435  bool hasColumn_impl(Acts::HashedString key) const;
436 
438  ActsTrk::IndexType index) const {
439  return typename ConstTrackStateProxy::Parameters{m_trackParametersAux->params[index].data()};
440  }
441 
443  ActsTrk::IndexType index) const {
444  return typename ConstTrackStateProxy::Covariance{m_trackParametersAux->covMatrix[index].data()};
445  }
446 
448  ActsTrk::IndexType istate) const {
449  xAOD::TrackStateIndexType jacIdx = m_trackStatesAux->jacobian[istate];
450  return typename ConstTrackStateProxy::Covariance{m_trackJacobiansAux->jac[jacIdx].data()};
451  }
452 
453  template <std::size_t measdim>
454  inline typename ConstTrackStateProxy::template Calibrated<measdim>
455  calibrated_impl(IndexType istate) const {
456  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[istate];
457  return typename ConstTrackStateProxy::template Calibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
458  }
459 
460  template <std::size_t measdim>
461  inline typename ConstTrackStateProxy::template CalibratedCovariance<measdim>
463  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
464  return typename ConstTrackStateProxy::template CalibratedCovariance<measdim>{m_trackMeasurementsAux->covMatrix[measIdx].data()};
465  }
466  inline Acts::TrackIndexType size_impl() const { return m_trackStatesAux->size(); }
467 
469  typename Acts::SourceLink getUncalibratedSourceLink_impl(ActsTrk::IndexType istate) const;
470 
471  const Acts::Surface* referenceSurface_impl(IndexType) const;
472 
477  void fillSurfaces(const Acts::TrackingGeometry* geo, const Acts::GeometryContext& geoContext );
482 
484 
485  std::vector<Acts::HashedString> dynamicKeys_impl() const;
486 
487  private:
493  std::vector<ActsTrk::detail::Decoration> m_decorations;
494 
495  // // TODO remove once tracking code switches to sourceLinks with EL
496  std::vector<std::optional<Acts::SourceLink>> m_calibratedSourceLinks;
497  // still need this to store SourceLinks with other payloads than
498  // pointer to xAOD::UncalibratedMeasurement e.g. pointer to Trk::Measurements
499  // when converting Trk::Tracks to Acts tracks.
500  std::vector<std::optional<Acts::SourceLink>> m_uncalibratedSourceLinks;
501 
502  std::vector<StoredSurface> m_surfaces;
503 
505 };
506 
507 
512 template<typename IFACE, typename AUX>
513 std::unique_ptr<IFACE> makeInterfaceContainer(const AUX* aux) {
514  auto interface = std::make_unique<IFACE>();
515  for ( size_t i = 0, sz = aux->size(); i < sz; ++i) {
516  interface->emplace_back( new std::remove_pointer_t<typename IFACE::value_type>() );
517  }
518  interface->setStore(aux);
519  return interface;
520 }
521 
522 
523 } // namespace ActsTrk
524 
525 #include "MultiTrajectory.icc"
526 
527 
528 #include "AthenaKernel/CLASS_DEF.h"
529 CLASS_DEF( ActsTrk::MultiTrajectory , 51219308 , 1 )
530 
531 // These two lines shouldn't be here, but necessary until we have a proper
532 // solution
533 #include "Acts/EventData/VectorTrackContainer.hpp"
534 CLASS_DEF(Acts::ConstVectorTrackContainer, 1074811884, 1)
535 
536 #endif
ActsTrk::MultiTrajectory::has_impl
bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:641
columnar::final
CM final
Definition: ColumnAccessor.h:106
ActsTrk::MultiTrajectory::m_surfaces
std::vector< StoredSurface > m_surfaces
Definition: MultiTrajectory.h:502
ActsTrk::MutableMultiTrajectory::m_trackJacobiansSize
size_t m_trackJacobiansSize
Definition: MultiTrajectory.h:392
xAOD::TrackMeasurementAuxContainer_v1
Definition: TrackMeasurementAuxContainer_v1.h:12
ActsTrk::MutableMultiTrajectory::TrackStateProxy
typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::TrackStateProxy TrackStateProxy
Definition: MultiTrajectory.h:85
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
TrackStateAuxContainer.h
ActsTrk::MutableMultiTrajectory::m_trackStatesIface
xAOD::TrackStateContainer m_trackStatesIface
Definition: MultiTrajectory.h:407
fitman.sz
sz
Definition: fitman.py:527
ActsTrk::MutableMultiTrajectory::trackJacobiansAux
xAOD::TrackJacobianAuxContainer * trackJacobiansAux()
Definition: MultiTrajectory.h:367
ActsTrk::MutableMultiTrajectory::m_surfaces
std::vector< StoredSurface > m_surfaces
Definition: MultiTrajectory.h:404
ActsTrk::MutableMultiTrajectory::component_impl
std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
Access component by key.
Definition: MultiTrajectory.cxx:415
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:521
ActsTrk::StoredSurface
std::variant< const Acts::Surface *, std::shared_ptr< const Acts::Surface > > StoredSurface
Definition: MultiTrajectory.h:69
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:183
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:399
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:198
ActsTrk::MutableMultiTrajectory::jacobian_impl
TrackStateProxy::Covariance jacobian_impl(ActsTrk::IndexType istate)
Definition: MultiTrajectory.h:236
ActsTrk::MutableMultiTrajectory::referenceSurface_impl
const Acts::Surface * referenceSurface_impl(IndexType) const
Definition: MultiTrajectory.cxx:573
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:388
TrackSurfaceAuxContainer.h
ActsTrk::MultiTrajectory::component_impl
std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:661
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:513
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:212
ActsTrk::MultiTrajectory
Read only version of MTJ The implementation is separate as the details are significantly different an...
Definition: MultiTrajectory.h:419
ActsTrk::MultiTrajectory::m_trackMeasurementsAux
const DataLink< xAOD::TrackMeasurementAuxContainer > m_trackMeasurementsAux
Definition: MultiTrajectory.h:491
xAOD::TrackSurfaceAuxContainer_v1
Definition: TrackSurfaceAuxContainer_v1.h:12
ActsTrk::MutableMultiTrajectory::size_impl
Acts::TrackIndexType size_impl() const
size of the MTJ
Definition: MultiTrajectory.h:290
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:141
ActsTrk::MultiTrajectory::size_impl
Acts::TrackIndexType size_impl() const
Definition: MultiTrajectory.h:466
ActsTrk::MultiTrajectory::hasColumn_impl
bool hasColumn_impl(Acts::HashedString key) const
Definition: MultiTrajectory.cxx:706
ActsTrk::MutableMultiTrajectory::parameters_impl
TrackStateProxy::Parameters parameters_impl(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:188
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
ActsTrk::MutableMultiTrajectory::trackMeasurementsAux
xAOD::TrackMeasurementAuxContainer * trackMeasurementsAux()
Definition: MultiTrajectory.h:371
ActsTrk::MultiTrajectory::m_trackStatesIface
xAOD::TrackStateContainer m_trackStatesIface
Definition: MultiTrajectory.h:504
ActsTrk::MutableMultiTrajectory::has_backends
bool has_backends() const
checks if the backends are connected (i.e.
Definition: MultiTrajectory.cxx:128
ActsTrk::MutableMultiTrajectory::m_calibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_calibratedSourceLinks
Definition: MultiTrajectory.h:401
ActsTrk::MultiTrajectory::m_calibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_calibratedSourceLinks
Definition: MultiTrajectory.h:496
ActsTrk::MutableMultiTrajectory
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external b...
Definition: MultiTrajectory.h:81
ActsTrk::MutableMultiTrajectory::has_impl
bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
checks if given state has requested component
Definition: MultiTrajectory.cxx:465
ActsTrk::MutableMultiTrajectory::trackParametersAux
const xAOD::TrackParametersAuxContainer * trackParametersAux() const
Definition: MultiTrajectory.h:360
TrackStateContainer.h
ActsTrk::MutableMultiTrajectory::m_trackMeasurementsAux
std::unique_ptr< xAOD::TrackMeasurementAuxContainer > m_trackMeasurementsAux
Definition: MultiTrajectory.h:394
ActsTrk::MutableMultiTrajectory::s_staticVariables
static const std::set< std::string > s_staticVariables
Definition: MultiTrajectory.h:379
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:612
ActsTrk::MultiTrajectory::calibratedSize_impl
ActsTrk::IndexType calibratedSize_impl(ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:736
ActsTrk::MultiTrajectory::m_uncalibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_uncalibratedSourceLinks
Definition: MultiTrajectory.h:500
ActsTrk::IndexType
std::uint32_t IndexType
Definition: Decoration.h:14
ActsTrk::MutableMultiTrajectory::trackMeasurementsCov
TrackStateProxy::Covariance trackMeasurementsCov(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:218
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:272
ActsTrk::MultiTrajectory::referenceSurface_impl
const Acts::Surface * referenceSurface_impl(IndexType) const
Definition: MultiTrajectory.cxx:781
Acts
Definition: ChamberAssembleTool.h:18
ActsTrk::MultiTrajectory::m_trackSurfacesAux
const DataLink< xAOD::TrackSurfaceAuxContainer > m_trackSurfacesAux
Definition: MultiTrajectory.h:492
lumiFormat.i
int i
Definition: lumiFormat.py:85
ActsTrk::MutableMultiTrajectory::m_uncalibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_uncalibratedSourceLinks
Definition: MultiTrajectory.h:402
ActsTrk::MutableMultiTrajectory::addTrackStateComponents_impl
void addTrackStateComponents_impl(ActsTrk::IndexType istate, Acts::TrackStatePropMask mask)
Add state components for the given mask.
Definition: MultiTrajectory.cxx:217
ActsTrk::MutableMultiTrajectory::m_surfacesBackendAux
std::unique_ptr< xAOD::TrackSurfaceAuxContainer > m_surfacesBackendAux
Definition: MultiTrajectory.h:398
ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory
MutableMultiTrajectory(ActsTrk::MutableMultiTrajectory &&other)=default
ActsTrk::MutableMultiTrajectory::ConstTrackStateProxy
typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::ConstTrackStateProxy ConstTrackStateProxy
Definition: MultiTrajectory.h:87
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:282
ActsTrk::MultiTrajectory::dynamicKeys_impl
std::vector< Acts::HashedString > dynamicKeys_impl() const
Definition: MultiTrajectory.cxx:750
ActsTrk::MutableMultiTrajectory::trim
void trim()
Definition: MultiTrajectory.cxx:599
ActsTrk::MultiTrajectory::m_trackParametersAux
const DataLink< xAOD::TrackParametersAuxContainer > m_trackParametersAux
Definition: MultiTrajectory.h:489
TrackSurfaceContainer.h
ActsTrk::MultiTrajectory::m_decorations
std::vector< ActsTrk::detail::Decoration > m_decorations
Definition: MultiTrajectory.h:493
ActsTrk::MutableMultiTrajectory::calibrated_impl
std::enable_if_t< Enable, typename TrackStateProxy::template Calibrated< measdim > > calibrated_impl(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:258
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:788
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:488
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:93
ActsTrk::MultiTrajectory::moveLinks
void moveLinks(const ActsTrk::MutableMultiTrajectory *mtj)
Definition: MultiTrajectory.cxx:745
ActsTrk::MutableMultiTrajectory::covariance_impl
TrackStateProxy::Covariance covariance_impl(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:202
ActsTrk::MutableMultiTrajectory::operator=
MutableMultiTrajectory & operator=(const ActsTrk::MutableMultiTrajectory &other)=delete
ActsTrk::MutableMultiTrajectory::m_trackStatesSize
size_t m_trackStatesSize
Definition: MultiTrajectory.h:386
ActsTrk::MultiTrajectory::getUncalibratedSourceLink_impl
Acts::SourceLink getUncalibratedSourceLink_impl(ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:805
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:578
TrackMeasurementAuxContainer.h
ActsTrk::MutableMultiTrajectory::m_trackStatesAux
std::unique_ptr< xAOD::TrackStateAuxContainer > m_trackStatesAux
Definition: MultiTrajectory.h:385
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:462
ActsTrk::MultiTrajectory::parameters_impl
ConstTrackStateProxy::Parameters parameters_impl(ActsTrk::IndexType index) const
Definition: MultiTrajectory.h:437
ActsTrk::MutableMultiTrajectory::trackSurfacesAux
xAOD::TrackSurfaceAuxContainer * trackSurfacesAux()
Definition: MultiTrajectory.h:375
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:759
ActsTrk::MutableMultiTrajectory::m_trackMeasurementsSize
size_t m_trackMeasurementsSize
Definition: MultiTrajectory.h:395
ActsTrk::MutableMultiTrajectory::m_surfacesBackend
std::unique_ptr< xAOD::TrackSurfaceContainer > m_surfacesBackend
Definition: MultiTrajectory.h:397
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:358
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:279
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:323
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:405
ActsTrk::MutableMultiTrajectory::m_trackJacobiansAux
std::unique_ptr< xAOD::TrackJacobianAuxContainer > m_trackJacobiansAux
Definition: MultiTrajectory.h:391
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:547
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:363
ActsTrk::MultiTrajectory::moveSurfaces
void moveSurfaces(const ActsTrk::MutableMultiTrajectory *mtj)
reuse surfaces from MutableMultiTrajectory
Definition: MultiTrajectory.cxx:740
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:250
ActsTrk::MutableMultiTrajectory::jacobian_impl
ConstTrackStateProxy::Covariance jacobian_impl(ActsTrk::IndexType istate) const
obtain jacobian for a state at given index
Definition: MultiTrajectory.h:230
TrackJacobianAuxContainer.h
ActsTrk::MultiTrajectory::covariance_impl
ConstTrackStateProxy::Covariance covariance_impl(ActsTrk::IndexType index) const
Definition: MultiTrajectory.h:442
ActsTrk::MutableMultiTrajectory::dynamicKeys_impl
std::vector< Acts::HashedString > dynamicKeys_impl() const
returns the keys of all the dynamic columns
Definition: MultiTrajectory.cxx:590
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:493
ActsTrk::MultiTrajectory::m_trackJacobiansAux
const DataLink< xAOD::TrackJacobianAuxContainer > m_trackJacobiansAux
Definition: MultiTrajectory.h:490
ActsTrk::MutableMultiTrajectory::m_trackParametersSize
size_t m_trackParametersSize
Definition: MultiTrajectory.h:389
ActsTrk::MultiTrajectory::jacobian_impl
ConstTrackStateProxy::Covariance jacobian_impl(ActsTrk::IndexType istate) const
Definition: MultiTrajectory.h:447
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:455
ActsTrk::MutableMultiTrajectory::unset_impl
void unset_impl(Acts::TrackStatePropMask target, ActsTrk::IndexType istate)
unsets a given state
Definition: MultiTrajectory.cxx:338
Acts::IsReadOnlyMultiTrajectory
Definition: MultiTrajectory.h:48
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37