ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/EventData/MultiTrajectory.hpp>
Public Types | |
enum | { ParametersSize = eBoundParametersSize, MeasurementSizeMax = eBoundParametersSize } |
using | SourceLink = source_link_t |
using | ConstTrackStateProxy = detail_lt::TrackStateProxy< SourceLink, ParametersSize, MeasurementSizeMax, true > |
using | TrackStateProxy = detail_lt::TrackStateProxy< SourceLink, ParametersSize, MeasurementSizeMax, false > |
using | ProjectorBitset = std::bitset< ParametersSize *MeasurementSizeMax > |
Public Member Functions | |
MultiTrajectory ()=default | |
Create an empty trajectory. | |
template<typename parameters_t > | |
size_t | addTrackState (const TrackState< SourceLink, parameters_t > &ts, size_t iprevious=SIZE_MAX) |
size_t | addTrackState (const TrackStatePropMask::Type &mask=TrackStatePropMask::All, size_t iprevious=SIZE_MAX) |
ConstTrackStateProxy | getTrackState (size_t istate) const |
TrackStateProxy | getTrackState (size_t istate) |
template<typename F > | |
void | visitBackwards (size_t iendpoint, F &&callable) const |
template<typename F > | |
void | applyBackwards (size_t iendpoint, F &&callable) |
template<typename parameters_t > | |
size_t | addTrackState (const TrackState< SL, parameters_t > &ts, size_t iprevious) |
Private Attributes | |
std::vector< detail_lt::IndexData > | m_index |
index to map track states to the corresponding | |
detail_lt::Types < ParametersSize > ::StorageCoefficients | m_params |
detail_lt::Types < ParametersSize > ::StorageCovariance | m_cov |
detail_lt::Types < MeasurementSizeMax > ::StorageCoefficients | m_meas |
detail_lt::Types < MeasurementSizeMax > ::StorageCovariance | m_measCov |
detail_lt::Types < ParametersSize > ::StorageCovariance | m_jac |
std::vector< SourceLink > | m_sourceLinks |
std::vector< ProjectorBitset > | m_projectors |
std::vector< std::shared_ptr < const Surface > > | m_referenceSurfaces |
Friends | |
class | detail_lt::TrackStateProxy< SourceLink, ParametersSize, MeasurementSizeMax, true > |
class | detail_lt::TrackStateProxy< SourceLink, ParametersSize, MeasurementSizeMax, false > |
Store a trajectory of track states with multiple components.
This container supports both simple, sequential trajectories as well as combinatorial or multi-component trajectories. Each point can store a parent point such that the trajectory forms a directed, acyclic graph of sub-trajectories. From a set of endpoints, all possible sub-components can be easily identified. Some functionality is provided to simplify iterating over specific sub-components.
source_link_t | Type to link back to an original measurement |
Definition at line 537 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 537 of file MultiTrajectory.hpp
using Acts::MultiTrajectory< source_link_t >::ConstTrackStateProxy = detail_lt::TrackStateProxy<SourceLink, ParametersSize, MeasurementSizeMax, true> |
Definition at line 546 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 546 of file MultiTrajectory.hpp
using Acts::MultiTrajectory< source_link_t >::ProjectorBitset = std::bitset<ParametersSize * MeasurementSizeMax> |
Definition at line 550 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 550 of file MultiTrajectory.hpp
using Acts::MultiTrajectory< source_link_t >::SourceLink = source_link_t |
Definition at line 543 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 543 of file MultiTrajectory.hpp
using Acts::MultiTrajectory< source_link_t >::TrackStateProxy = detail_lt::TrackStateProxy<SourceLink, ParametersSize, MeasurementSizeMax, false> |
Definition at line 548 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 548 of file MultiTrajectory.hpp
anonymous enum |
Definition at line 539 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 539 of file MultiTrajectory.hpp
|
default |
Create an empty trajectory.
|
inline |
Definition at line 165 of file MultiTrajectory.ipp.
View newest version in sPHENIX GitHub at line 165 of file MultiTrajectory.ipp
References Acts::TrackState< source_link_t, parameters_t >::calibrated, Acts::TrackState< source_link_t, parameters_t >::chi2, Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::chi2(), Acts::TrackState< source_link_t, parameters_t >::filtered, Acts::Surface::getSharedPtr(), Acts::detail_lt::IndexData::ifiltered, Acts::detail_lt::IndexData::ijacobian, Acts::detail_lt::IndexData::ipredicted, Acts::detail_lt::IndexData::iprevious, Acts::detail_lt::IndexData::irefsurface, Acts::detail_lt::IndexData::ismoothed, Acts::detail_lt::IndexData::iuncalibrated, Acts::TrackState< source_link_t, parameters_t >::jacobian, m, Acts::TrackState< source_link_t, parameters_t >::measurement, Acts::TrackState< source_link_t, parameters_t >::parameter, Acts::TrackState< source_link_t, parameters_t >::pathLength, Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::pathLength(), Acts::TrackState< source_link_t, parameters_t >::predicted, Acts::TrackState< source_link_t, parameters_t >::referenceSurface(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::resetCalibrated(), Acts::TrackState< source_link_t, parameters_t >::smoothed, Acts::TrackState< source_link_t, parameters_t >::type(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::typeFlags(), and Acts::TrackState< source_link_t, parameters_t >::uncalibrated.
size_t Acts::MultiTrajectory< source_link_t >::addTrackState | ( | const TrackState< SourceLink, parameters_t > & | ts, |
size_t | iprevious = SIZE_MAX |
||
) |
Add a track state using information from a separate track state object.
parameters_t | The parameter type used for the trackstate |
trackParameters | at the local point |
iprevious | index of the previous state, SIZE_MAX if first |
parameters_t
is not currently stored in MultiTrajectory. Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Add a track state without providing explicit information. Which components of the track state are initialized/allocated can be controlled via mask
mask | The bitmask that instructs which components to allocate and which to leave invalid |
iprevious | index of the previous state, SIZE_MAX if first |
Definition at line 231 of file MultiTrajectory.ipp.
View newest version in sPHENIX GitHub at line 231 of file MultiTrajectory.ipp
References ACTS_CHECK_BIT, Acts::TrackStatePropMask::Calibrated, Acts::TrackStatePropMask::Filtered, Acts::detail_lt::IndexData::icalibrated, Acts::detail_lt::IndexData::icalibratedsourcelink, Acts::detail_lt::IndexData::ifiltered, Acts::detail_lt::IndexData::ijacobian, Acts::detail_lt::IndexData::ipredicted, Acts::detail_lt::IndexData::iprevious, Acts::detail_lt::IndexData::iprojector, Acts::detail_lt::IndexData::irefsurface, Acts::detail_lt::IndexData::ismoothed, Acts::detail_lt::IndexData::iuncalibrated, Acts::TrackStatePropMask::Predicted, Acts::TrackStatePropMask::Smoothed, and Acts::TrackStatePropMask::Uncalibrated.
void MultiTrajectory< SL >::applyBackwards | ( | size_t | iendpoint, |
F && | callable | ||
) |
Apply a function to all previous states starting at a given endpoint.
iendpoint | index of the last state |
callable | modifying functor to be called with each point |
Definition at line 319 of file MultiTrajectory.ipp.
View newest version in sPHENIX GitHub at line 319 of file MultiTrajectory.ipp
References Acts::detail_lt::IndexData::kInvalid.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::GainMatrixSmoother< parameters_t >::operator()().
|
inline |
Access a read-only point on the trajectory by index.
istate | The index to access |
Definition at line 580 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 580 of file MultiTrajectory.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::GainMatrixSmoother< parameters_t >::operator()().
|
inline |
Access a writable point on the trajectory by index.
istate | The index to access |
Definition at line 587 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 587 of file MultiTrajectory.hpp
void MultiTrajectory< SL >::visitBackwards | ( | size_t | iendpoint, |
F && | callable | ||
) | const |
Visit all previous states starting at a given endpoint.
iendpoint | index of the last state |
callable | non-modifying functor to be called with each point |
Definition at line 292 of file MultiTrajectory.ipp.
View newest version in sPHENIX GitHub at line 292 of file MultiTrajectory.ipp
References Acts::detail_lt::IndexData::kInvalid.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
friend |
Definition at line 626 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 626 of file MultiTrajectory.hpp
|
friend |
Definition at line 624 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 624 of file MultiTrajectory.hpp
|
private |
Definition at line 610 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 610 of file MultiTrajectory.hpp
|
private |
index to map track states to the corresponding
Definition at line 608 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 608 of file MultiTrajectory.hpp
|
private |
Definition at line 613 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 613 of file MultiTrajectory.hpp
|
private |
Definition at line 611 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 611 of file MultiTrajectory.hpp
|
private |
Definition at line 612 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 612 of file MultiTrajectory.hpp
|
private |
Definition at line 609 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 609 of file MultiTrajectory.hpp
|
private |
Definition at line 615 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 615 of file MultiTrajectory.hpp
|
private |
Definition at line 621 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 621 of file MultiTrajectory.hpp
|
private |
Definition at line 614 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 614 of file MultiTrajectory.hpp