![]() |
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 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 93 of file MultiTrajectory.cxx.
ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory | ( | const ActsTrk::MutableMultiTrajectory & | other | ) |
Definition at line 108 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 141 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 217 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 493 of file MultiTrajectory.cxx.
std::any ActsTrk::MutableMultiTrajectory::component_impl | ( | Acts::HashedString | key, |
ActsTrk::IndexType | istate | ||
) |
Definition at line 372 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 415 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 578 of file MultiTrajectory.cxx.
|
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.
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 788 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 128 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 465 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 573 of file MultiTrajectory.cxx.
void ActsTrk::MutableMultiTrajectory::setReferenceSurface_impl | ( | IndexType | istate, |
std::shared_ptr< const Acts::Surface > | surface | ||
) |
Definition at line 547 of file MultiTrajectory.cxx.
void ActsTrk::MutableMultiTrajectory::setUncalibratedSourceLink_impl | ( | ActsTrk::IndexType | istate, |
const Acts::SourceLink & | sourceLink | ||
) |
Implementation of uncalibrated link insertion.
Definition at line 521 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 282 of file MultiTrajectory.cxx.
|
inline |
|
inline |
Definition at line 367 of file MultiTrajectory.h.
|
inline |
Definition at line 371 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 363 of file MultiTrajectory.h.
|
inline |
Definition at line 360 of file MultiTrajectory.h.
|
inline |
Definition at line 358 of file MultiTrajectory.h.
|
inline |
Definition at line 375 of file MultiTrajectory.h.
|
private |
Definition at line 599 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 338 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 401 of file MultiTrajectory.h.
|
private |
Definition at line 399 of file MultiTrajectory.h.
|
private |
Definition at line 405 of file MultiTrajectory.h.
|
private |
Definition at line 404 of file MultiTrajectory.h.
|
private |
Definition at line 397 of file MultiTrajectory.h.
|
private |
Definition at line 398 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 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 385 of file MultiTrajectory.h.
|
private |
Definition at line 407 of file MultiTrajectory.h.
|
private |
Definition at line 386 of file MultiTrajectory.h.
|
private |
Definition at line 402 of file MultiTrajectory.h.
|
static |
Definition at line 379 of file MultiTrajectory.h.