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, Acts::HashedString, const std::any &) |
std::vector< Acts::HashedString > | dynamicKeys_impl () const |
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 |
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 80 of file MultiTrajectory.h.
using ActsTrk::MutableMultiTrajectory::ConstTrackStateProxy = typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory>::ConstTrackStateProxy |
Definition at line 86 of file MultiTrajectory.h.
using ActsTrk::MutableMultiTrajectory::TrackStateProxy = typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory>::TrackStateProxy |
Definition at line 84 of file MultiTrajectory.h.
ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory | ( | ) |
Construct a new Multi Trajectory object owning backends.
Definition at line 73 of file MultiTrajectory.cxx.
ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory | ( | const ActsTrk::MutableMultiTrajectory & | other | ) |
Definition at line 87 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 119 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 197 of file MultiTrajectory.cxx.
|
inline |
Definition at line 258 of file MultiTrajectory.h.
|
inline |
obtain calibrated measurements for a state at given index
index |
Definition at line 250 of file MultiTrajectory.h.
|
inline |
Definition at line 279 of file MultiTrajectory.h.
|
inline |
obtain measurements covariance for a state at given index
index |
Definition at line 272 of file MultiTrajectory.h.
void ActsTrk::MutableMultiTrajectory::clear_impl | ( | ) |
clears backends decoration columns are still declared
Definition at line 478 of file MultiTrajectory.cxx.
std::any ActsTrk::MutableMultiTrajectory::component_impl | ( | Acts::HashedString | key, |
ActsTrk::IndexType | istate | ||
) |
Definition at line 354 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 397 of file MultiTrajectory.cxx.
|
inline |
Definition at line 342 of file MultiTrajectory.h.
|
inline |
Definition at line 202 of file MultiTrajectory.h.
|
inline |
obtain covariances for a state at given index
index |
Definition at line 198 of file MultiTrajectory.h.
|
inline |
Definition at line 348 of file MultiTrajectory.h.
Acts::SourceLink ActsTrk::MutableMultiTrajectory::getUncalibratedSourceLink_impl | ( | ActsTrk::IndexType | istate | ) | const |
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 106 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 447 of file MultiTrajectory.cxx.
|
constexpr |
checks if MTJ has requested column (irrespectively of the state)
key | - name (const char*) |
|
inline |
Definition at line 236 of file MultiTrajectory.h.
|
inline |
obtain jacobian for a state at given index
index |
Definition at line 230 of file MultiTrajectory.h.
|
delete |
|
inline |
Definition at line 188 of file MultiTrajectory.h.
|
inline |
obtains proxy to the track state under given index
index |
Definition at line 183 of file MultiTrajectory.h.
const Acts::Surface * ActsTrk::MutableMultiTrajectory::referenceSurface_impl | ( | IndexType | istate | ) | const |
Definition at line 557 of file MultiTrajectory.cxx.
void ActsTrk::MutableMultiTrajectory::setReferenceSurface_impl | ( | IndexType | istate, |
std::shared_ptr< const Acts::Surface > | surface | ||
) |
Definition at line 531 of file MultiTrajectory.cxx.
void ActsTrk::MutableMultiTrajectory::setUncalibratedSourceLink_impl | ( | ActsTrk::IndexType | istate, |
const Acts::SourceLink & | sourceLink | ||
) |
Implementation of uncalibrated link insertion.
Definition at line 506 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 264 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 218 of file MultiTrajectory.h.
|
inline |
obtain measurement covariances for a state at given index
index |
Definition at line 212 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 562 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 320 of file MultiTrajectory.cxx.
ActsTrk::IndexType ActsTrk::MutableMultiTrajectory::calibratedSize_impl |
Implementation of allocation of calibrated measurements.
Implementation of calibrated size
Definition at line 323 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 383 of file MultiTrajectory.h.
|
private |
Definition at line 399 of file MultiTrajectory.h.
|
static |
Definition at line 376 of file MultiTrajectory.h.