![]() |
ATLAS Offline Software
|
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external backends. More...
#include <MultiTrajectory.h>
Public Types | |
| using | TrackStateProxy |
| using | ConstTrackStateProxy |
Public Member Functions | |
| MutableMultiTrajectory () | |
| Construct a new Multi Trajectory object owning backends. | |
| MutableMultiTrajectory (const ActsTrk::MutableMultiTrajectory &other) | |
| MutableMultiTrajectory (ActsTrk::MutableMultiTrajectory &&other)=default | |
| MutableMultiTrajectory & | operator= (const ActsTrk::MutableMultiTrajectory &other)=delete |
| ActsTrk::IndexType | addTrackState_impl (Acts::TrackStatePropMask mask, ActsTrk::IndexType iprevious) |
| Add state with stograge for data that depends on the mask. | |
| void | addTrackStateComponents_impl (ActsTrk::IndexType istate, Acts::TrackStatePropMask mask) |
| Add state components for the given mask. | |
| std::any | component_impl (Acts::HashedString key, ActsTrk::IndexType istate) const |
| Access component by key. | |
| std::any | component_impl (Acts::HashedString key, ActsTrk::IndexType istate) |
| bool | has_impl (Acts::HashedString key, ActsTrk::IndexType istate) const |
| checks if given state has requested component | |
| constexpr bool | hasColumn_impl (Acts::HashedString key) const |
| checks if MTJ has requested column (irrespectively of the state) | |
| template<typename T> | |
| void | addColumn_impl (std::string_view key) |
| enables particular decoration, type & name need to be specified | |
| void | unset_impl (Acts::TrackStatePropMask target, ActsTrk::IndexType istate) |
| unsets a given state | |
| void | shareFrom_impl (ActsTrk::IndexType iself, ActsTrk::IndexType iother, Acts::TrackStatePropMask shareSource, Acts::TrackStatePropMask shareTarget) |
| shares from a given state | |
| ConstTrackStateProxy::ConstParameters | parameters_impl (ActsTrk::IndexType index) const |
| obtains proxy to the track state under given index | |
| TrackStateProxy::Parameters | parameters_impl (ActsTrk::IndexType index) |
| ConstTrackStateProxy::ConstCovariance | covariance_impl (ActsTrk::IndexType index) const |
| obtain covariances for a state at given index | |
| TrackStateProxy::Covariance | covariance_impl (ActsTrk::IndexType index) |
| ConstTrackStateProxy::Covariance | trackMeasurementsCov (ActsTrk::IndexType index) const |
| obtain measurement covariances for a state at given index | |
| TrackStateProxy::Covariance | trackMeasurementsCov (ActsTrk::IndexType index) |
| ConstTrackStateProxy::ConstCovariance | jacobian_impl (ActsTrk::IndexType istate) const |
| obtain jacobian for a state at given index | |
| TrackStateProxy::Covariance | jacobian_impl (ActsTrk::IndexType istate) |
| template<std::size_t measdim> | |
| ConstTrackStateProxy::template ConstCalibrated< measdim > | calibrated_impl (ActsTrk::IndexType index) const |
| obtain calibrated measurements for a state at given index | |
| template<std::size_t measdim, bool Enable = true> | |
| std::enable_if_t< Enable, typename TrackStateProxy::template Calibrated< measdim > > | calibrated_impl (ActsTrk::IndexType index) |
| template<std::size_t measdim> | |
| ConstTrackStateProxy::template ConstCalibratedCovariance< measdim > | calibratedCovariance_impl (ActsTrk::IndexType index) const |
| obtain measurements covariance for a state at given index | |
| template<std::size_t measdim, bool Enable = true> | |
| std::enable_if_t< Enable, typename TrackStateProxy::template CalibratedCovariance< measdim > > | calibratedCovariance_impl (ActsTrk::IndexType index) |
| Acts::TrackIndexType | size_impl () const |
| size of the MTJ | |
| void | clear_impl () |
| clears backends decoration columns are still declared | |
| bool | has_backends () const |
| checks if the backends are connected (i.e. | |
| template<typename val_t, typename cov_t> requires (Eigen::PlainObjectBase<val_t>::RowsAtCompileTime > 0 && static_cast<unsigned>(Eigen::PlainObjectBase<val_t>::RowsAtCompileTime) <= Acts::eBoundSize && static_cast<unsigned>(Eigen::PlainObjectBase<val_t>::RowsAtCompileTime) == static_cast<unsigned>(Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime) && Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime == Eigen::PlainObjectBase<cov_t>::ColsAtCompileTime) | |
| void | allocateCalibrated_impl (IndexType istate, const Eigen::DenseBase< val_t > &val, const Eigen::DenseBase< cov_t > &cov) |
| Implementation of allocation of calibrated measurements. | |
| ActsTrk::IndexType | calibratedSize_impl (ActsTrk::IndexType istate) const |
| Implementation of calibrated size. | |
| void | setUncalibratedSourceLink_impl (ActsTrk::IndexType istate, const Acts::SourceLink &sourceLink) |
| Implementation of uncalibrated link insertion. | |
| Acts::SourceLink | getUncalibratedSourceLink_impl (ActsTrk::IndexType istate) const |
| Implementation of uncalibrated link fetch. | |
| void | setReferenceSurface_impl (IndexType, std::shared_ptr< const Acts::Surface >) |
| const Acts::Surface * | referenceSurface_impl (IndexType) const |
| void | copyDynamicFrom_impl (ActsTrk::IndexType istate, Acts::HashedString key, const std::any &src_ptr) |
| copy dynamic data from another MTJ | |
| std::vector< Acts::HashedString > | dynamicKeys_impl () const |
| returns the keys of all the dynamic columns | |
| xAOD::TrackStateAuxContainer * | trackStatesAux () |
| const xAOD::TrackParametersAuxContainer * | trackParametersAux () const |
| xAOD::TrackParametersAuxContainer * | trackParametersAux () |
| xAOD::TrackJacobianAuxContainer * | trackJacobiansAux () |
| xAOD::TrackMeasurementAuxContainer * | trackMeasurementsAux () |
| xAOD::TrackSurfaceAuxContainer * | trackSurfacesAux () |
| xAOD::TrackSurfaceContainer * | trackSurfaces () |
| const xAOD::TrackSurfaceContainer * | trackSurfaces () const |
Static Public Attributes | |
| static const std::set< std::string > | s_staticVariables |
Private Member Functions | |
| void | trim () |
Private Attributes | |
| std::unique_ptr< xAOD::TrackStateAuxContainer > | m_trackStatesAux |
| size_t | m_trackStatesSize = 0 |
| std::unique_ptr< xAOD::TrackParametersAuxContainer > | m_trackParametersAux |
| size_t | m_trackParametersSize = 0 |
| std::unique_ptr< xAOD::TrackJacobianAuxContainer > | m_trackJacobiansAux |
| size_t | m_trackJacobiansSize = 0 |
| std::unique_ptr< xAOD::TrackMeasurementAuxContainer > | m_trackMeasurementsAux |
| size_t | m_trackMeasurementsSize = 0 |
| std::unique_ptr< xAOD::TrackSurfaceContainer > | m_surfacesBackend |
| std::unique_ptr< xAOD::TrackSurfaceAuxContainer > | m_surfacesBackendAux |
| std::vector< ActsTrk::detail::Decoration > | m_decorations |
| std::vector< std::optional< Acts::SourceLink > > | m_calibratedSourceLinks |
| std::vector< std::optional< Acts::SourceLink > > | m_uncalibratedSourceLinks |
| std::vector< StoredSurface > | m_surfaces |
| GeometryContext | m_geoContext |
| xAOD::TrackStateContainer | m_trackStatesIface |
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external backends.
Backends lifetime are not maintained by this class. except when objects are default constructed (this functionality will be removed). This class is meant to be used in track finding algorithms (e.g. CKF) and then converted MultiTrajectory variant. These conversion is meant to be costless.
Definition at line 76 of file MultiTrajectory.h.
Definition at line 82 of file MultiTrajectory.h.
Definition at line 80 of file MultiTrajectory.h.
| ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory | ( | ) |
Construct a new Multi Trajectory object owning backends.
Definition at line 96 of file MultiTrajectory.cxx.
| ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory | ( | const ActsTrk::MutableMultiTrajectory & | other | ) |
Definition at line 111 of file MultiTrajectory.cxx.
|
default |
| void ActsTrk::MutableMultiTrajectory::addColumn_impl | ( | std::string_view | key | ) |
enables particular decoration, type & name need to be specified
| T | type of decoration (usually POD) |
| key | name of the decoration |
| ActsTrk::IndexType ActsTrk::MutableMultiTrajectory::addTrackState_impl | ( | Acts::TrackStatePropMask | mask, |
| ActsTrk::IndexType | iprevious ) |
Add state with stograge for data that depends on the mask.
| mask | - bitmask deciding which backends are extended |
| istate | - previous state |
Definition at line 144 of file MultiTrajectory.cxx.
| void ActsTrk::MutableMultiTrajectory::addTrackStateComponents_impl | ( | ActsTrk::IndexType | istate, |
| Acts::TrackStatePropMask | mask ) |
Add state components for the given mask.
| istate | - state index |
| mask | - bitmask deciding which backends are extended |
Definition at line 220 of file MultiTrajectory.cxx.
| void ActsTrk::MutableMultiTrajectory::allocateCalibrated_impl | ( | IndexType | istate, |
| const Eigen::DenseBase< val_t > & | val, | ||
| const Eigen::DenseBase< cov_t > & | cov ) |
Implementation of allocation of calibrated measurements.
|
inline |
Definition at line 254 of file MultiTrajectory.h.
|
inline |
obtain calibrated measurements for a state at given index
| index |
Definition at line 246 of file MultiTrajectory.h.
|
inline |
Definition at line 275 of file MultiTrajectory.h.
|
inline |
obtain measurements covariance for a state at given index
| index |
Definition at line 268 of file MultiTrajectory.h.
| ActsTrk::IndexType ActsTrk::MutableMultiTrajectory::calibratedSize_impl | ( | ActsTrk::IndexType | istate | ) | const |
Implementation of calibrated size.
Definition at line 517 of file MultiTrajectory.cxx.
| void ActsTrk::MutableMultiTrajectory::clear_impl | ( | ) |
clears backends decoration columns are still declared
Definition at line 496 of file MultiTrajectory.cxx.
| std::any ActsTrk::MutableMultiTrajectory::component_impl | ( | Acts::HashedString | key, |
| ActsTrk::IndexType | istate ) |
Definition at line 375 of file MultiTrajectory.cxx.
| std::any ActsTrk::MutableMultiTrajectory::component_impl | ( | Acts::HashedString | key, |
| ActsTrk::IndexType | istate ) const |
Access component by key.
| key | |
| istate |
Definition at line 418 of file MultiTrajectory.cxx.
| void ActsTrk::MutableMultiTrajectory::copyDynamicFrom_impl | ( | ActsTrk::IndexType | istate, |
| Acts::HashedString | key, | ||
| const std::any & | src_ptr ) |
copy dynamic data from another MTJ
| istate | - index of the track to be filled |
| key | - key of the dynamic data |
| src_ptr | - pointer to the source data |
Definition at line 591 of file MultiTrajectory.cxx.
|
inline |
Definition at line 198 of file MultiTrajectory.h.
|
inline |
obtain covariances for a state at given index
| index |
Definition at line 194 of file MultiTrajectory.h.
| std::vector< Acts::HashedString > ActsTrk::MutableMultiTrajectory::dynamicKeys_impl | ( | ) | const |
returns the keys of all the dynamic columns
Definition at line 605 of file MultiTrajectory.cxx.
| Acts::SourceLink ActsTrk::MutableMultiTrajectory::getUncalibratedSourceLink_impl | ( | ActsTrk::IndexType | istate | ) | const |
Implementation of uncalibrated link fetch.
Definition at line 805 of file MultiTrajectory.cxx.
| bool ActsTrk::MutableMultiTrajectory::has_backends | ( | ) | const |
checks if the backends are connected (i.e.
is safe to use, else any other call will cause segfaults)
Definition at line 131 of file MultiTrajectory.cxx.
| bool ActsTrk::MutableMultiTrajectory::has_impl | ( | Acts::HashedString | key, |
| ActsTrk::IndexType | istate ) const |
checks if given state has requested component
| key | - name (const char*) |
| istate | - index in the |
Definition at line 468 of file MultiTrajectory.cxx.
|
constexpr |
checks if MTJ has requested column (irrespectively of the state)
| key | - name (const char*) |
|
inline |
Definition at line 232 of file MultiTrajectory.h.
|
inline |
obtain jacobian for a state at given index
| index |
Definition at line 226 of file MultiTrajectory.h.
|
delete |
|
inline |
Definition at line 184 of file MultiTrajectory.h.
|
inline |
obtains proxy to the track state under given index
| index |
Definition at line 179 of file MultiTrajectory.h.
| const Acts::Surface * ActsTrk::MutableMultiTrajectory::referenceSurface_impl | ( | IndexType | istate | ) | const |
Definition at line 586 of file MultiTrajectory.cxx.
| void ActsTrk::MutableMultiTrajectory::setReferenceSurface_impl | ( | IndexType | istate, |
| std::shared_ptr< const Acts::Surface > | surface ) |
Definition at line 560 of file MultiTrajectory.cxx.
| void ActsTrk::MutableMultiTrajectory::setUncalibratedSourceLink_impl | ( | ActsTrk::IndexType | istate, |
| const Acts::SourceLink & | sourceLink ) |
Implementation of uncalibrated link insertion.
Definition at line 524 of file MultiTrajectory.cxx.
| void ActsTrk::MutableMultiTrajectory::shareFrom_impl | ( | ActsTrk::IndexType | iself, |
| ActsTrk::IndexType | iother, | ||
| Acts::TrackStatePropMask | shareSource, | ||
| Acts::TrackStatePropMask | shareTarget ) |
shares from a given state
| shareSource,shareTarget | - property |
| iself,iother | - indexes |
Definition at line 285 of file MultiTrajectory.cxx.
|
inline |
|
inline |
Definition at line 363 of file MultiTrajectory.h.
|
inline |
Definition at line 367 of file MultiTrajectory.h.
|
inline |
Definition at line 214 of file MultiTrajectory.h.
|
inline |
obtain measurement covariances for a state at given index
| index |
Definition at line 208 of file MultiTrajectory.h.
|
inline |
Definition at line 359 of file MultiTrajectory.h.
|
inline |
Definition at line 356 of file MultiTrajectory.h.
|
inline |
Definition at line 354 of file MultiTrajectory.h.
|
inline |
Definition at line 374 of file MultiTrajectory.h.
|
inline |
Definition at line 377 of file MultiTrajectory.h.
|
inline |
Definition at line 371 of file MultiTrajectory.h.
|
private |
Definition at line 615 of file MultiTrajectory.cxx.
| void ActsTrk::MutableMultiTrajectory::unset_impl | ( | Acts::TrackStatePropMask | target, |
| ActsTrk::IndexType | istate ) |
unsets a given state
| target | - property |
| istate | - index in the |
Definition at line 341 of file MultiTrajectory.cxx.
|
private |
Definition at line 403 of file MultiTrajectory.h.
|
private |
Definition at line 401 of file MultiTrajectory.h.
|
private |
Definition at line 407 of file MultiTrajectory.h.
|
private |
Definition at line 406 of file MultiTrajectory.h.
|
private |
Definition at line 399 of file MultiTrajectory.h.
|
private |
Definition at line 400 of file MultiTrajectory.h.
|
private |
Definition at line 393 of file MultiTrajectory.h.
|
private |
Definition at line 394 of file MultiTrajectory.h.
|
private |
Definition at line 396 of file MultiTrajectory.h.
|
private |
Definition at line 397 of file MultiTrajectory.h.
|
private |
Definition at line 390 of file MultiTrajectory.h.
|
private |
Definition at line 391 of file MultiTrajectory.h.
|
private |
Definition at line 387 of file MultiTrajectory.h.
|
private |
Definition at line 409 of file MultiTrajectory.h.
|
private |
Definition at line 388 of file MultiTrajectory.h.
|
private |
Definition at line 404 of file MultiTrajectory.h.
|
static |
Definition at line 17 of file MultiTrajectory.h.