![]() |
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 = typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::TrackStateProxy |
using | ConstTrackStateProxy = typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::ConstTrackStateProxy |
Public Member Functions | |
MutableMultiTrajectory () | |
Construct a new Multi Trajectory object owning backends. More... | |
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. More... | |
void | addTrackStateComponents_impl (ActsTrk::IndexType istate, Acts::TrackStatePropMask mask) |
Add state components for the given mask. More... | |
std::any | component_impl (Acts::HashedString key, ActsTrk::IndexType istate) const |
Access component by key. More... | |
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 More... | |
constexpr bool | hasColumn_impl (Acts::HashedString key) const |
checks if MTJ has requested column (irrespectively of the state) More... | |
template<typename T > | |
void | addColumn_impl (std::string_view key) |
enables particular decoration, type & name need to be specified More... | |
void | unset_impl (Acts::TrackStatePropMask target, ActsTrk::IndexType istate) |
unsets a given state More... | |
void | shareFrom_impl (ActsTrk::IndexType iself, ActsTrk::IndexType iother, Acts::TrackStatePropMask shareSource, Acts::TrackStatePropMask shareTarget) |
shares from a given state More... | |
ConstTrackStateProxy::Parameters | parameters_impl (ActsTrk::IndexType index) const |
obtains proxy to the track state under given index More... | |
TrackStateProxy::Parameters | parameters_impl (ActsTrk::IndexType index) |
ConstTrackStateProxy::Covariance | covariance_impl (ActsTrk::IndexType index) const |
obtain covariances for a state at given index More... | |
TrackStateProxy::Covariance | covariance_impl (ActsTrk::IndexType index) |
ConstTrackStateProxy::Covariance | trackMeasurementsCov (ActsTrk::IndexType index) const |
obtain measurement covariances for a state at given index More... | |
TrackStateProxy::Covariance | trackMeasurementsCov (ActsTrk::IndexType index) |
ConstTrackStateProxy::Covariance | jacobian_impl (ActsTrk::IndexType istate) const |
obtain jacobian for a state at given index More... | |
TrackStateProxy::Covariance | jacobian_impl (ActsTrk::IndexType istate) |
template<std::size_t measdim> | |
ConstTrackStateProxy::template Calibrated< measdim > | calibrated_impl (ActsTrk::IndexType index) const |
obtain calibrated measurements for a state at given index More... | |
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 CalibratedCovariance< measdim > | calibratedCovariance_impl (ActsTrk::IndexType index) const |
obtain measurements covariance for a state at given index More... | |
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 More... | |
void | clear_impl () |
clears backends decoration columns are still declared More... | |
bool | has_backends () const |
checks if the backends are connected (i.e. More... | |
void | setUncalibratedSourceLink_impl (ActsTrk::IndexType istate, const Acts::SourceLink &sourceLink) |
Implementation of uncalibrated link insertion. More... | |
Acts::SourceLink | getUncalibratedSourceLink_impl (ActsTrk::IndexType istate) const |
Implementation of uncalibrated link fetch. More... | |
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 More... | |
std::vector< Acts::HashedString > | dynamicKeys_impl () const |
returns the keys of all the dynamic columns More... | |
xAOD::TrackStateAuxContainer * | trackStatesAux () |
const xAOD::TrackParametersAuxContainer * | trackParametersAux () const |
xAOD::TrackParametersAuxContainer * | trackParametersAux () |
xAOD::TrackJacobianAuxContainer * | trackJacobiansAux () |
xAOD::TrackMeasurementAuxContainer * | trackMeasurementsAux () |
xAOD::TrackSurfaceAuxContainer * | trackSurfacesAux () |
Public Attributes | |
template<typename val_t , typename cov_t > | |
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. More... | |
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 |
ActsGeometryContext | 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 77 of file MultiTrajectory.h.
using ActsTrk::MutableMultiTrajectory::ConstTrackStateProxy = typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory>::ConstTrackStateProxy |
Definition at line 83 of file MultiTrajectory.h.
using ActsTrk::MutableMultiTrajectory::TrackStateProxy = typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory>::TrackStateProxy |
Definition at line 81 of file MultiTrajectory.h.
ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory | ( | ) |
Construct a new Multi Trajectory object owning backends.
Definition at line 94 of file MultiTrajectory.cxx.
ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory | ( | const ActsTrk::MutableMultiTrajectory & | other | ) |
Definition at line 109 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 142 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 218 of file MultiTrajectory.cxx.
|
inline |
Definition at line 255 of file MultiTrajectory.h.
|
inline |
obtain calibrated measurements for a state at given index
index |
Definition at line 247 of file MultiTrajectory.h.
|
inline |
Definition at line 276 of file MultiTrajectory.h.
|
inline |
obtain measurements covariance for a state at given index
index |
Definition at line 269 of file MultiTrajectory.h.
void ActsTrk::MutableMultiTrajectory::clear_impl | ( | ) |
clears backends decoration columns are still declared
Definition at line 494 of file MultiTrajectory.cxx.
std::any ActsTrk::MutableMultiTrajectory::component_impl | ( | Acts::HashedString | key, |
ActsTrk::IndexType | istate | ||
) |
Definition at line 373 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 416 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 579 of file MultiTrajectory.cxx.
|
inline |
Definition at line 199 of file MultiTrajectory.h.
|
inline |
obtain covariances for a state at given index
index |
Definition at line 195 of file MultiTrajectory.h.
std::vector< Acts::HashedString > ActsTrk::MutableMultiTrajectory::dynamicKeys_impl | ( | ) | const |
Acts::SourceLink ActsTrk::MutableMultiTrajectory::getUncalibratedSourceLink_impl | ( | ActsTrk::IndexType | istate | ) | const |
Implementation of uncalibrated link fetch.
Definition at line 793 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 129 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 466 of file MultiTrajectory.cxx.
|
constexpr |
checks if MTJ has requested column (irrespectively of the state)
key | - name (const char*) |
|
inline |
Definition at line 233 of file MultiTrajectory.h.
|
inline |
obtain jacobian for a state at given index
index |
Definition at line 227 of file MultiTrajectory.h.
|
delete |
|
inline |
Definition at line 185 of file MultiTrajectory.h.
|
inline |
obtains proxy to the track state under given index
index |
Definition at line 180 of file MultiTrajectory.h.
const Acts::Surface * ActsTrk::MutableMultiTrajectory::referenceSurface_impl | ( | IndexType | istate | ) | const |
Definition at line 574 of file MultiTrajectory.cxx.
void ActsTrk::MutableMultiTrajectory::setReferenceSurface_impl | ( | IndexType | istate, |
std::shared_ptr< const Acts::Surface > | surface | ||
) |
Definition at line 548 of file MultiTrajectory.cxx.
void ActsTrk::MutableMultiTrajectory::setUncalibratedSourceLink_impl | ( | ActsTrk::IndexType | istate, |
const Acts::SourceLink & | sourceLink | ||
) |
Implementation of uncalibrated link insertion.
Definition at line 522 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 283 of file MultiTrajectory.cxx.
|
inline |
|
inline |
Definition at line 364 of file MultiTrajectory.h.
|
inline |
Definition at line 368 of file MultiTrajectory.h.
|
inline |
Definition at line 215 of file MultiTrajectory.h.
|
inline |
obtain measurement covariances for a state at given index
index |
Definition at line 209 of file MultiTrajectory.h.
|
inline |
Definition at line 360 of file MultiTrajectory.h.
|
inline |
Definition at line 357 of file MultiTrajectory.h.
|
inline |
Definition at line 355 of file MultiTrajectory.h.
|
inline |
Definition at line 372 of file MultiTrajectory.h.
|
private |
Definition at line 603 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 339 of file MultiTrajectory.cxx.
ActsTrk::IndexType ActsTrk::MutableMultiTrajectory::calibratedSize_impl |
Implementation of allocation of calibrated measurements.
Implementation of calibrated size
Definition at line 320 of file MultiTrajectory.h.
|
private |
Definition at line 398 of file MultiTrajectory.h.
|
private |
Definition at line 396 of file MultiTrajectory.h.
|
private |
Definition at line 402 of file MultiTrajectory.h.
|
private |
Definition at line 401 of file MultiTrajectory.h.
|
private |
Definition at line 394 of file MultiTrajectory.h.
|
private |
Definition at line 395 of file MultiTrajectory.h.
|
private |
Definition at line 388 of file MultiTrajectory.h.
|
private |
Definition at line 389 of file MultiTrajectory.h.
|
private |
Definition at line 391 of file MultiTrajectory.h.
|
private |
Definition at line 392 of file MultiTrajectory.h.
|
private |
Definition at line 385 of file MultiTrajectory.h.
|
private |
Definition at line 386 of file MultiTrajectory.h.
|
private |
Definition at line 382 of file MultiTrajectory.h.
|
private |
Definition at line 404 of file MultiTrajectory.h.
|
private |
Definition at line 383 of file MultiTrajectory.h.
|
private |
Definition at line 399 of file MultiTrajectory.h.
|
static |
Definition at line 376 of file MultiTrajectory.h.