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 | allocateCalibrated_impl (ActsTrk::IndexType istate, std::size_t measdim) |
Implementation of allocation of calibrated measurements. More... | |
ActsTrk::IndexType | calibratedSize_impl (ActsTrk::IndexType istate) const |
Implementation of calibrated size. 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 () |
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.
void ActsTrk::MutableMultiTrajectory::allocateCalibrated_impl | ( | ActsTrk::IndexType | istate, |
std::size_t | measdim | ||
) |
Implementation of allocation of calibrated measurements.
Definition at line 497 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.
ActsTrk::IndexType ActsTrk::MutableMultiTrajectory::calibratedSize_impl | ( | ActsTrk::IndexType | istate | ) | const |
void ActsTrk::MutableMultiTrajectory::clear_impl | ( | ) |
clears backends decoration columns are still declared
Definition at line 476 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 333 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 339 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 445 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 563 of file MultiTrajectory.cxx.
void ActsTrk::MutableMultiTrajectory::setReferenceSurface_impl | ( | IndexType | istate, |
std::shared_ptr< const Acts::Surface > | surface | ||
) |
Definition at line 537 of file MultiTrajectory.cxx.
void ActsTrk::MutableMultiTrajectory::setUncalibratedSourceLink_impl | ( | ActsTrk::IndexType | istate, |
const Acts::SourceLink & | sourceLink | ||
) |
Implementation of uncalibrated link insertion.
Definition at line 512 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 355 of file MultiTrajectory.h.
|
inline |
Definition at line 359 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 351 of file MultiTrajectory.h.
|
inline |
Definition at line 348 of file MultiTrajectory.h.
|
inline |
Definition at line 346 of file MultiTrajectory.h.
|
inline |
Definition at line 363 of file MultiTrajectory.h.
|
private |
Definition at line 568 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.
|
private |
Definition at line 389 of file MultiTrajectory.h.
|
private |
Definition at line 387 of file MultiTrajectory.h.
|
private |
Definition at line 393 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 379 of file MultiTrajectory.h.
|
private |
Definition at line 380 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 376 of file MultiTrajectory.h.
|
private |
Definition at line 377 of file MultiTrajectory.h.
|
private |
Definition at line 373 of file MultiTrajectory.h.
|
private |
Definition at line 374 of file MultiTrajectory.h.
|
private |
Definition at line 390 of file MultiTrajectory.h.
|
static |
Definition at line 367 of file MultiTrajectory.h.