EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Core/include/Acts/EventData/MultiTrajectory.hpp>
Public Types | |
enum | { MeasurementSizeMax = eBoundSize } |
using | SourceLink = source_link_t |
using | ConstTrackStateProxy = detail_lt::TrackStateProxy< SourceLink, MeasurementSizeMax, true > |
using | TrackStateProxy = detail_lt::TrackStateProxy< SourceLink, MeasurementSizeMax, false > |
using | ProjectorBitset = std::bitset< eBoundSize *MeasurementSizeMax > |
Public Member Functions | |
MultiTrajectory ()=default | |
Create an empty trajectory. | |
size_t | addTrackState (TrackStatePropMask 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) |
Private Attributes | |
std::vector< detail_lt::IndexData > | m_index |
index to map track states to the corresponding | |
detail_lt::Types< eBoundSize > ::StorageCoefficients | m_params |
detail_lt::Types< eBoundSize > ::StorageCovariance | m_cov |
detail_lt::Types < MeasurementSizeMax > ::StorageCoefficients | m_meas |
detail_lt::Types < MeasurementSizeMax > ::StorageCovariance | m_measCov |
detail_lt::Types< eBoundSize > ::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, MeasurementSizeMax, true > |
class | detail_lt::TrackStateProxy< SourceLink, 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 601 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 601 of file MultiTrajectory.hpp
using Acts::MultiTrajectory< source_link_t >::ConstTrackStateProxy = detail_lt::TrackStateProxy<SourceLink, MeasurementSizeMax, true> |
Definition at line 608 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 608 of file MultiTrajectory.hpp
using Acts::MultiTrajectory< source_link_t >::ProjectorBitset = std::bitset<eBoundSize * MeasurementSizeMax> |
Definition at line 612 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 612 of file MultiTrajectory.hpp
using Acts::MultiTrajectory< source_link_t >::SourceLink = source_link_t |
Definition at line 606 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 606 of file MultiTrajectory.hpp
using Acts::MultiTrajectory< source_link_t >::TrackStateProxy = detail_lt::TrackStateProxy<SourceLink, MeasurementSizeMax, false> |
Definition at line 610 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 610 of file MultiTrajectory.hpp
anonymous enum |
Definition at line 603 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 603 of file MultiTrajectory.hpp
|
default |
Create an empty trajectory.
|
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 162 of file MultiTrajectory.ipp.
View newest version in sPHENIX GitHub at line 162 of file MultiTrajectory.ipp
References ACTS_CHECK_BIT, 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, and p.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
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 250 of file MultiTrajectory.ipp.
View newest version in sPHENIX GitHub at line 250 of file MultiTrajectory.ipp
References Acts::detail_lt::IndexData::kInvalid.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::GainMatrixSmoother::operator()().
|
inline |
Access a read-only point on the trajectory by index.
istate | The index to access |
Definition at line 629 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 629 of file MultiTrajectory.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::detail::globalTrackParametersCovariance(), and Acts::GainMatrixSmoother::operator()().
|
inline |
Access a writable point on the trajectory by index.
istate | The index to access |
Definition at line 636 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 636 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 223 of file MultiTrajectory.ipp.
View newest version in sPHENIX GitHub at line 223 of file MultiTrajectory.ipp
References Acts::detail_lt::IndexData::kInvalid.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::EventDataView3D::drawMultiTrajectory(), Acts::detail::globalTrackParametersCovariance(), ActsExamples::SimMultiTrajectory::identifyMajorityParticle(), and Acts::MultiTrajectoryHelpers::trajectoryState().
|
friend |
Definition at line 674 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 674 of file MultiTrajectory.hpp
|
friend |
Definition at line 672 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 672 of file MultiTrajectory.hpp
|
private |
Definition at line 659 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 659 of file MultiTrajectory.hpp
|
private |
index to map track states to the corresponding
Definition at line 657 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 657 of file MultiTrajectory.hpp
|
private |
Definition at line 662 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 662 of file MultiTrajectory.hpp
|
private |
Definition at line 660 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 660 of file MultiTrajectory.hpp
|
private |
Definition at line 661 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 661 of file MultiTrajectory.hpp
|
private |
Definition at line 658 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 658 of file MultiTrajectory.hpp
|
private |
Definition at line 664 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 664 of file MultiTrajectory.hpp
|
private |
Definition at line 670 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 670 of file MultiTrajectory.hpp
|
private |
Definition at line 663 of file MultiTrajectory.hpp.
View newest version in sPHENIX GitHub at line 663 of file MultiTrajectory.hpp