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-2023 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 
341 
343  Acts::HashedString /*key*/,
344  const std::any& /*src_ptr*/) {
345  // @TODO: This is currently unimplemented
346  }
347 
348  std::vector<Acts::HashedString> dynamicKeys_impl() const {
349  // @TODO: This currently does not do anything useful
350  return {};
351  }
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 
404  // adjust preallocated size to actually used
405  void trim();
406 };
407 
414  : public Acts::MultiTrajectory<MultiTrajectory> {
415  public:
416 
423 
424  bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
425 
426  std::any component_impl(Acts::HashedString key, ActsTrk::IndexType istate) const;
427 
428  bool hasColumn_impl(Acts::HashedString key) const;
429 
431  ActsTrk::IndexType index) const {
432  return typename ConstTrackStateProxy::Parameters{m_trackParametersAux->params[index].data()};
433  }
434 
436  ActsTrk::IndexType index) const {
437  return typename ConstTrackStateProxy::Covariance{m_trackParametersAux->covMatrix[index].data()};
438  }
439 
441  ActsTrk::IndexType istate) const {
442  xAOD::TrackStateIndexType jacIdx = m_trackStatesAux->jacobian[istate];
443  return typename ConstTrackStateProxy::Covariance{m_trackJacobiansAux->jac[jacIdx].data()};
444  }
445 
446  template <std::size_t measdim>
447  inline typename ConstTrackStateProxy::template Calibrated<measdim>
448  calibrated_impl(IndexType istate) const {
449  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[istate];
450  return typename ConstTrackStateProxy::template Calibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
451  }
452 
453  template <std::size_t measdim>
454  inline typename ConstTrackStateProxy::template CalibratedCovariance<measdim>
456  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
457  return typename ConstTrackStateProxy::template CalibratedCovariance<measdim>{m_trackMeasurementsAux->covMatrix[measIdx].data()};
458  }
459  inline Acts::TrackIndexType size_impl() const { return m_trackStatesAux->size(); }
460 
462  typename Acts::SourceLink getUncalibratedSourceLink_impl(ActsTrk::IndexType istate) const;
463 
464  const Acts::Surface* referenceSurface_impl(IndexType) const;
465 
470  void fillSurfaces(const Acts::TrackingGeometry* geo, const Acts::GeometryContext& geoContext );
475 
477 
478  std::vector<Acts::HashedString> dynamicKeys_impl() const {
479  // @TODO: This currently does not do anything useful
480  return {};
481  }
482 
483  private:
489  std::vector<ActsTrk::detail::Decoration> m_decorations;
490 
491  // // TODO remove once tracking code switches to sourceLinks with EL
492  std::vector<std::optional<Acts::SourceLink>> m_calibratedSourceLinks;
493  // still need this to store SourceLinks with other payloads than
494  // pointer to xAOD::UncalibratedMeasurement e.g. pointer to Trk::Measurements
495  // when converting Trk::Tracks to Acts tracks.
496  std::vector<std::optional<Acts::SourceLink>> m_uncalibratedSourceLinks;
497 
498  std::vector<StoredSurface> m_surfaces;
499 };
500 
501 
506 template<typename IFACE, typename AUX>
507 std::unique_ptr<IFACE> makeInterfaceContainer(const AUX* aux) {
508  auto interface = std::make_unique<IFACE>();
509  for ( size_t i = 0, sz = aux->size(); i < sz; ++i) {
510  interface->emplace_back( new std::remove_pointer_t<typename IFACE::value_type>() );
511  }
512  interface->setStore(aux);
513  return interface;
514 }
515 
516 
517 } // namespace ActsTrk
518 
519 #include "MultiTrajectory.icc"
520 
521 
522 #include "AthenaKernel/CLASS_DEF.h"
523 CLASS_DEF( ActsTrk::MultiTrajectory , 51219308 , 1 )
524 
525 // These two lines shouldn't be here, but necessary until we have a proper
526 // solution
527 #include "Acts/EventData/VectorTrackContainer.hpp"
528 CLASS_DEF(Acts::ConstVectorTrackContainer, 1074811884, 1)
529 
530 #endif
ActsTrk::MultiTrajectory::has_impl
bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:589
ActsTrk::MultiTrajectory::m_surfaces
std::vector< StoredSurface > m_surfaces
Definition: MultiTrajectory.h:498
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:85
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
TrackStateAuxContainer.h
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:397
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:506
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: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: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:557
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:611
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:507
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:414
ActsTrk::MultiTrajectory::m_trackMeasurementsAux
const DataLink< xAOD::TrackMeasurementAuxContainer > m_trackMeasurementsAux
Definition: MultiTrajectory.h:487
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:119
ActsTrk::MutableMultiTrajectory::dynamicKeys_impl
std::vector< Acts::HashedString > dynamicKeys_impl() const
Definition: MultiTrajectory.h:348
ActsTrk::MultiTrajectory::size_impl
Acts::TrackIndexType size_impl() const
Definition: MultiTrajectory.h:459
ActsTrk::MultiTrajectory::hasColumn_impl
bool hasColumn_impl(Acts::HashedString key) const
Definition: MultiTrajectory.cxx:656
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:368
ActsTrk::MutableMultiTrajectory::has_backends
bool has_backends() const
checks if the backends are connected (i.e.
Definition: MultiTrajectory.cxx:106
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:492
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:447
ActsTrk::MutableMultiTrajectory::trackParametersAux
const xAOD::TrackParametersAuxContainer * trackParametersAux() const
Definition: MultiTrajectory.h:357
ActsTrk::MultiTrajectory::dynamicKeys_impl
std::vector< Acts::HashedString > dynamicKeys_impl() const
Definition: MultiTrajectory.h:478
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:574
ActsTrk::MultiTrajectory::calibratedSize_impl
ActsTrk::IndexType calibratedSize_impl(ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:686
ActsTrk::MultiTrajectory::m_uncalibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_uncalibratedSourceLinks
Definition: MultiTrajectory.h:496
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:722
Acts
Definition: ChamberAssembleTool.h:18
ActsTrk::MultiTrajectory::m_trackSurfacesAux
const DataLink< xAOD::TrackSurfaceAuxContainer > m_trackSurfacesAux
Definition: MultiTrajectory.h:488
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:197
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: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:264
ActsTrk::MutableMultiTrajectory::trim
void trim()
Definition: MultiTrajectory.cxx:562
ActsTrk::MultiTrajectory::m_trackParametersAux
const DataLink< xAOD::TrackParametersAuxContainer > m_trackParametersAux
Definition: MultiTrajectory.h:485
TrackSurfaceContainer.h
ActsTrk::MultiTrajectory::m_decorations
std::vector< ActsTrk::detail::Decoration > m_decorations
Definition: MultiTrajectory.h:489
ActsTrk::MutableMultiTrajectory::calibrated_impl
std::enable_if_t< Enable, typename TrackStateProxy::template Calibrated< measdim > > calibrated_impl(ActsTrk::IndexType index)
Definition: MultiTrajectory.h:258
ActsTrk::MutableMultiTrajectory::copyDynamicFrom_impl
void copyDynamicFrom_impl(ActsTrk::IndexType, Acts::HashedString, const std::any &)
Definition: MultiTrajectory.h:342
ActsTrk::MutableMultiTrajectory::getUncalibratedSourceLink_impl
Acts::SourceLink getUncalibratedSourceLink_impl(ActsTrk::IndexType istate) const
Implementation of uncalibrated link fetch.
Definition: MultiTrajectory.cxx:729
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:484
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:73
ActsTrk::MultiTrajectory::moveLinks
void moveLinks(const ActsTrk::MutableMultiTrajectory *mtj)
Definition: MultiTrajectory.cxx:695
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:383
ActsTrk::MultiTrajectory::getUncalibratedSourceLink_impl
Acts::SourceLink getUncalibratedSourceLink_impl(ActsTrk::IndexType istate) const
Definition: MultiTrajectory.cxx:747
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:455
ActsTrk::MultiTrajectory::parameters_impl
ConstTrackStateProxy::Parameters parameters_impl(ActsTrk::IndexType index) const
Definition: MultiTrajectory.h:430
ActsTrk::MutableMultiTrajectory::trackSurfacesAux
xAOD::TrackSurfaceAuxContainer * trackSurfacesAux()
Definition: MultiTrajectory.h:372
concepts.h
Compatibility helpers for using some pieces of C++20 concepts with older compilers.
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:700
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: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:64
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:531
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:54
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:690
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:435
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:478
ActsTrk::MultiTrajectory::m_trackJacobiansAux
const DataLink< xAOD::TrackJacobianAuxContainer > m_trackJacobiansAux
Definition: MultiTrajectory.h:486
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:440
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:448
ActsTrk::MutableMultiTrajectory::unset_impl
void unset_impl(Acts::TrackStatePropMask target, ActsTrk::IndexType istate)
unsets a given state
Definition: MultiTrajectory.cxx:320
Acts::IsReadOnlyMultiTrajectory
Definition: MultiTrajectory.h:48
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37