Template Class MultiTrajectory¶
Defined in File MultiTrajectory.hpp
Class Documentation¶
-
template<typename
source_link_t>
classActs::MultiTrajectory¶ 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.
- Template Parameters
source_link_t: Type to link back to an original measurement
Public Types
-
using
ConstTrackStateProxy= detail_lt::TrackStateProxy<SourceLink, MeasurementSizeMax, true>¶
-
using
ProjectorBitset= std::bitset<eBoundSize * MeasurementSizeMax>¶
-
using
SourceLink= source_link_t¶
-
using
TrackStateProxy= detail_lt::TrackStateProxy<SourceLink, MeasurementSizeMax, false>¶
Public Functions
-
MultiTrajectory() = default¶ Create an empty trajectory.
-
size_t
addTrackState(TrackStatePropMask mask = TrackStatePropMask::All, size_t iprevious = SIZE_MAX)¶ Add a track state without providing explicit information.
Which components of the track state are initialized/allocated can be controlled via
mask- Return
Index of the newly added track state
- Parameters
mask: The bitmask that instructs which components to allocate and which to leave invalidiprevious: index of the previous state, SIZE_MAX if first
-
template<typename
F>
voidapplyBackwards(size_t iendpoint, F &&callable)¶ Apply a function to all previous states starting at a given endpoint.
- Warning
If the trajectory contains multiple components with common points, this can have an impact on the other components.
- Parameters
iendpoint: index of the last statecallable: modifying functor to be called with each point
-
ConstTrackStateProxy
getTrackState(size_t istate) const¶ Access a read-only point on the trajectory by index.
- Return
Read only proxy to the stored track state
- Parameters
istate: The index to access
-
TrackStateProxy
getTrackState(size_t istate)¶ Access a writable point on the trajectory by index.
- Return
Read-write proxy to the stored track state
- Parameters
istate: The index to access
Friends
- friend class detail_lt::TrackStateProxy< SourceLink, MeasurementSizeMax, false >
- friend class detail_lt::TrackStateProxy< SourceLink, MeasurementSizeMax, true >