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 >