ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::MultiTrajectory< derived_t > Class Template Reference

Store a trajectory of track states with multiple components. More...

#include <Acts/EventData/MultiTrajectory.hpp>

Inheritance diagram for Acts::MultiTrajectory< derived_t >:
[legend]

Public Types

using ConstTrackStateProxy
 Alias for the const version of a track state proxy, with the same backends as this container.
using Derived = derived_t
 Type alias for derived multi-trajectory implementation.
using IndexType = TrackIndexType
 The index type of the track state container.
using TrackStateProxy
 Alias for the mutable version of a track state proxy, with the same backends as this container.

Public Member Functions

void clear ()
 Clear the MultiTrajectory.
IndexType size () const
 Returns the number of track states contained.
MultiTrajectory track state (proxy) access and manipulation

These methods allow accessing track states, i.e. adding or retrieving a track state proxy that points at a specific track state in the container.

ConstTrackStateProxy getTrackState (IndexType istate) const
 Access a read-only point on the trajectory by index.
TrackStateProxy getTrackState (IndexType istate)
 Access a writable point on the trajectory by index.
IndexType addTrackState (TrackStatePropMask mask=TrackStatePropMask::All, IndexType iprevious=kInvalid)
 Add a track state without providing explicit information.
TrackStateProxy makeTrackState (TrackStatePropMask mask=TrackStatePropMask::All, IndexType iprevious=kInvalid)
 Add a track state to the container and return a track state proxy to it This effectively calls addTrackState and getTrackState.
MultiTrajectory track state iteration

template<typename F>
requires detail_lt::VisitorConcept<F, ConstTrackStateProxy>
void visitBackwards (IndexType iendpoint, F &&callable) const
 Visit all previous states starting at a given endpoint.
template<typename F>
requires (!ReadOnly) && detail_lt::VisitorConcept<F, TrackStateProxy>
void applyBackwards (IndexType iendpoint, F &&callable)
 Apply a function to all previous states starting at a given endpoint.
auto reverseTrackStateRange (IndexType iendpoint) const
 Range for the track states from iendpoint to the trajectory start.
auto reverseTrackStateRange (IndexType iendpoint)
 Range for the track states from iendpoint to the trajectory start, i.e from the outside in.
auto forwardTrackStateRange (IndexType istartpoint) const
 Range for the track states from istartpoint to the trajectory end, i.e from inside out.
auto forwardTrackStateRange (IndexType istartpoint)
 Range for the track states from istartpoint to the trajectory end, i.e from inside out.
MultiTrajectory column management

MultiTrajectory can manage a set of common static columns, and dynamic columns that can be added at runtime.

This set of methods allows you to manage the dynamic columns.

template<typename T>
requires (!ReadOnly)
void addColumn (std::string_view key)
 Add a column to the MultiTrajectory.
bool hasColumn (HashedString key) const
 Check if a column with a key key exists.

Static Public Attributes

static constexpr IndexType kInvalid = kTrackIndexInvalid
 Sentinel value that indicates an invalid index.
static constexpr unsigned int MeasurementSizeMax = kMeasurementSizeMax
 Maximum number of measurement dimensions supported by this trajectory.
static constexpr bool ReadOnly = IsReadOnlyMultiTrajectory<Derived>::value
 Flag indicating whether this multi-trajectory is read-only.

Protected Member Functions

 MultiTrajectory ()=default
void addTrackStateComponents (IndexType istate, TrackStatePropMask mask)
 Add additional components to an existing track state.
template<std::size_t measdim, typename val_t, typename cov_t>
void allocateCalibrated (IndexType istate, const Eigen::DenseBase< val_t > &val, const Eigen::DenseBase< cov_t > &cov)
 Allocate storage for calibrated measurement.
void allocateCalibrated (IndexType istate, std::size_t measdim)
 Allocate storage for a calibrated measurement of specified dimension.
template<std::size_t measdim>
requires (!ReadOnly)
TrackStateProxy::template Calibrated< measdim > calibrated (IndexType istate)
 Retrieve a calibrated measurement proxy instance for a measurement at a given index.
template<std::size_t measdim>
ConstTrackStateProxy::template ConstCalibrated< measdim > calibrated (IndexType istate) const
 Retrieve a calibrated measurement proxy instance for a measurement at a given index.
template<std::size_t measdim>
requires (!ReadOnly)
TrackStateProxy::template CalibratedCovariance< measdim > calibratedCovariance (IndexType istate)
 Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.
template<std::size_t measdim>
ConstTrackStateProxy::template ConstCalibratedCovariance< measdim > calibratedCovariance (IndexType istate) const
 Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.
IndexType calibratedSize (IndexType istate) const
 Get the calibrated measurement size for a track state.
template<typename T>
requires (!ReadOnly)
T & component (HashedString key, IndexType istate)
 Retrieve a mutable reference to a component.
template<typename T>
const T & component (HashedString key, IndexType istate) const
 Retrieve a const reference to a component.
template<typename T, HashedString key>
requires (!ReadOnly)
T & component (IndexType istate)
 Retrieve a mutable reference to a component.
template<typename T, HashedString key>
const T & component (IndexType istate) const
 Retrieve a const reference to a component.
TrackStateProxy::Covariance covariance (IndexType covIdx)
ConstTrackStateProxy::ConstCovariance covariance (IndexType covIdx) const
TrackStateProxy::EffectiveCalibrated effectiveCalibrated (IndexType istate)
 Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.
ConstTrackStateProxy::EffectiveCalibrated effectiveCalibrated (IndexType istate) const
 Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.
TrackStateProxy::EffectiveCalibratedCovariance effectiveCalibratedCovariance (IndexType istate)
 Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.
ConstTrackStateProxy::EffectiveCalibratedCovariance effectiveCalibratedCovariance (IndexType istate) const
 Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.
SourceLink getUncalibratedSourceLink (IndexType istate) const
 Get the uncalibrated source link for a track state.
bool has (HashedString key, IndexType istate) const
 Check for component existence of key in track satet istate.
template<HashedString key>
bool has (IndexType istate) const
 Check for component existence of key in track satet istate.
TrackStateProxy::Jacobian jacobian (IndexType istate)
 Retrieve a jacobian proxy instance for a jacobian at a given index.
ConstTrackStateProxy::ConstJacobian jacobian (IndexType istate) const
 Retrieve a jacobian proxy instance for a jacobian at a given index.
TrackStateProxy::Parameters parameters (IndexType parIdx)
ConstTrackStateProxy::ConstParameters parameters (IndexType parIdx) const
const SurfacereferenceSurface (IndexType istate) const
 Get the reference surface for a track state.
void setReferenceSurface (IndexType istate, std::shared_ptr< const Surface > surface)
 Set the reference surface for a track state.
void setUncalibratedSourceLink (IndexType istate, SourceLink &&sourceLink)
 Set the uncalibrated source link for a track state.
void shareFrom (IndexType iself, IndexType iother, TrackStatePropMask shareSource, TrackStatePropMask shareTarget)
 Share a shareable component from between track state.
void unset (TrackStatePropMask target, IndexType istate)
 Unset an optional track state component.

Detailed Description

template<typename derived_t>
class Acts::MultiTrajectory< derived_t >

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.

Member Typedef Documentation

◆ ConstTrackStateProxy

template<typename derived_t>
using Acts::MultiTrajectory< derived_t >::ConstTrackStateProxy
Initial value:
Proxy object to access a single point on the trajectory.
Definition TrackStateProxy.hpp:89

Alias for the const version of a track state proxy, with the same backends as this container.

◆ Derived

template<typename derived_t>
using Acts::MultiTrajectory< derived_t >::Derived = derived_t

Type alias for derived multi-trajectory implementation.

◆ IndexType

template<typename derived_t>
using Acts::MultiTrajectory< derived_t >::IndexType = TrackIndexType

The index type of the track state container.

◆ TrackStateProxy

template<typename derived_t>
using Acts::MultiTrajectory< derived_t >::TrackStateProxy
Initial value:

Alias for the mutable version of a track state proxy, with the same backends as this container.

Constructor & Destructor Documentation

◆ MultiTrajectory()

template<typename derived_t>
Acts::MultiTrajectory< derived_t >::MultiTrajectory ( )
protecteddefault

Member Function Documentation

◆ addColumn()

template<typename derived_t>
template<typename T>
requires (!ReadOnly)
void Acts::MultiTrajectory< derived_t >::addColumn ( std::string_view key)

Add a column to the MultiTrajectory.

Template Parameters
TType of the column values to add
Parameters
keythe name of the column to be added
Note
This takes a string argument rather than a hashed string to maintain compatibility with backends.
Only available if the MultiTrajectory is not read-only

◆ addTrackState()

template<typename derived_t>
IndexType Acts::MultiTrajectory< derived_t >::addTrackState ( TrackStatePropMask mask = TrackStatePropMask::All,
IndexType iprevious = kInvalid )

Add a track state without providing explicit information.

Which components of the track state are initialized/allocated can be controlled via mask

Note
Only available if the MultiTrajectory is not read-only
Parameters
maskThe bitmask that instructs which components to allocate and which to leave invalid
ipreviousindex of the previous state, kInvalid if first
Returns
Index of the newly added track state

◆ addTrackStateComponents()

template<typename derived_t>
void Acts::MultiTrajectory< derived_t >::addTrackStateComponents ( IndexType istate,
TrackStatePropMask mask )
protected

Add additional components to an existing track state.

Note
Only available if the track state container is not read-only
Parameters
istateThe track state index to alter
maskThe bitmask that instructs which components to allocate

◆ allocateCalibrated() [1/2]

template<typename derived_t>
template<std::size_t measdim, typename val_t, typename cov_t>
void Acts::MultiTrajectory< derived_t >::allocateCalibrated ( IndexType istate,
const Eigen::DenseBase< val_t > & val,
const Eigen::DenseBase< cov_t > & cov )
protected

Allocate storage for calibrated measurement.

Template Parameters
measdimMeasurement dimension
val_tValue type
cov_tCovariance type
Parameters
istateState index
valMeasurement values
covMeasurement covariance

◆ allocateCalibrated() [2/2]

template<typename derived_t>
void Acts::MultiTrajectory< derived_t >::allocateCalibrated ( IndexType istate,
std::size_t measdim )
protected

Allocate storage for a calibrated measurement of specified dimension.

Parameters
istateThe track state to store for
measdimthe dimension of the measurement to store
Note
In case an allocation is already present, no additional allocation will be performed, but the existing allocation will be zeroed.

◆ applyBackwards()

template<typename derived_t>
template<typename F>
requires (!ReadOnly) && detail_lt::VisitorConcept<F, TrackStateProxy>
void Acts::MultiTrajectory< derived_t >::applyBackwards ( IndexType iendpoint,
F && callable )

Apply a function to all previous states starting at a given endpoint.

Parameters
iendpointindex of the last state
callablemodifying functor to be called with each point
Warning
If the trajectory contains multiple components with common points, this can have an impact on the other components.
Note
Only available if the MultiTrajectory is not read-only

◆ calibrated() [1/2]

template<typename derived_t>
template<std::size_t measdim>
requires (!ReadOnly)
TrackStateProxy::template Calibrated< measdim > Acts::MultiTrajectory< derived_t >::calibrated ( IndexType istate)
protected

Retrieve a calibrated measurement proxy instance for a measurement at a given index.

Template Parameters
measdimthe measurement dimension
Parameters
istateThe track state
Returns
Mutable proxy

◆ calibrated() [2/2]

template<typename derived_t>
template<std::size_t measdim>
ConstTrackStateProxy::template ConstCalibrated< measdim > Acts::MultiTrajectory< derived_t >::calibrated ( IndexType istate) const
protected

Retrieve a calibrated measurement proxy instance for a measurement at a given index.

Template Parameters
measdimthe measurement dimension
Parameters
istateThe track state
Returns
Const proxy

◆ calibratedCovariance() [1/2]

template<typename derived_t>
template<std::size_t measdim>
requires (!ReadOnly)
TrackStateProxy::template CalibratedCovariance< measdim > Acts::MultiTrajectory< derived_t >::calibratedCovariance ( IndexType istate)
protected

Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.

Template Parameters
measdimthe measurement dimension
Parameters
istateThe track state
Returns
Mutable proxy

◆ calibratedCovariance() [2/2]

template<typename derived_t>
template<std::size_t measdim>
ConstTrackStateProxy::template ConstCalibratedCovariance< measdim > Acts::MultiTrajectory< derived_t >::calibratedCovariance ( IndexType istate) const
protected

Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.

Parameters
istateThe track state
Returns
Const proxy

◆ calibratedSize()

template<typename derived_t>
IndexType Acts::MultiTrajectory< derived_t >::calibratedSize ( IndexType istate) const
protected

Get the calibrated measurement size for a track state.

Parameters
istateThe track state
Returns
the calibrated size

◆ clear()

template<typename derived_t>
void Acts::MultiTrajectory< derived_t >::clear ( )

Clear the MultiTrajectory.

Leaves the underlying storage untouched

Note
Only available if the MultiTrajectory is not read-only

◆ component() [1/4]

template<typename derived_t>
template<typename T>
requires (!ReadOnly)
T & Acts::MultiTrajectory< derived_t >::component ( HashedString key,
IndexType istate )
protected

Retrieve a mutable reference to a component.

Template Parameters
TThe type of the component to access
Parameters
keyString key for the component to access
istateThe track state index to operate on
Returns
Mutable reference to the component given by key

◆ component() [2/4]

template<typename derived_t>
template<typename T>
const T & Acts::MultiTrajectory< derived_t >::component ( HashedString key,
IndexType istate ) const
protected

Retrieve a const reference to a component.

Template Parameters
TThe type of the component to access
Parameters
keyString key for the component to access
istateThe track state index to operate on
Returns
Const reference to the component given by key

◆ component() [3/4]

template<typename derived_t>
template<typename T, HashedString key>
requires (!ReadOnly)
T & Acts::MultiTrajectory< derived_t >::component ( IndexType istate)
protected

Retrieve a mutable reference to a component.

Template Parameters
TThe type of the component to access
keyString key for the component to access
Parameters
istateThe track state index to operate on
Returns
Mutable reference to the component given by key

◆ component() [4/4]

template<typename derived_t>
template<typename T, HashedString key>
const T & Acts::MultiTrajectory< derived_t >::component ( IndexType istate) const
protected

Retrieve a const reference to a component.

Template Parameters
TThe type of the component to access
keyString key for the component to access
Parameters
istateThe track state index to operate on
Returns
Const reference to the component given by key

◆ covariance() [1/2]

template<typename derived_t>
TrackStateProxy::Covariance Acts::MultiTrajectory< derived_t >::covariance ( IndexType covIdx)
protected

◆ covariance() [2/2]

template<typename derived_t>
ConstTrackStateProxy::ConstCovariance Acts::MultiTrajectory< derived_t >::covariance ( IndexType covIdx) const
protected

◆ effectiveCalibrated() [1/2]

template<typename derived_t>
TrackStateProxy::EffectiveCalibrated Acts::MultiTrajectory< derived_t >::effectiveCalibrated ( IndexType istate)
protected

Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.

Parameters
istateThe track state
Returns
Mutable proxy

◆ effectiveCalibrated() [2/2]

template<typename derived_t>
ConstTrackStateProxy::EffectiveCalibrated Acts::MultiTrajectory< derived_t >::effectiveCalibrated ( IndexType istate) const
protected

Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.

Parameters
istateThe track state
Returns
Const proxy

◆ effectiveCalibratedCovariance() [1/2]

template<typename derived_t>
TrackStateProxy::EffectiveCalibratedCovariance Acts::MultiTrajectory< derived_t >::effectiveCalibratedCovariance ( IndexType istate)
protected

Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.

Parameters
istateThe track state
Returns
Mutable proxy

◆ effectiveCalibratedCovariance() [2/2]

template<typename derived_t>
ConstTrackStateProxy::EffectiveCalibratedCovariance Acts::MultiTrajectory< derived_t >::effectiveCalibratedCovariance ( IndexType istate) const
protected

Retrieve a calibrated measurement covariance proxy instance for a measurement at a given index.

Parameters
istateThe track state
Returns
Const proxy

◆ forwardTrackStateRange() [1/2]

template<typename derived_t>
auto Acts::MultiTrajectory< derived_t >::forwardTrackStateRange ( IndexType istartpoint)

Range for the track states from istartpoint to the trajectory end, i.e from inside out.

Note
Only available if the MultiTrajectory is not read-only
Parameters
istartpointTrajectory state index for the innermost track state to start from
Returns
Iterator pair to iterate over

◆ forwardTrackStateRange() [2/2]

template<typename derived_t>
auto Acts::MultiTrajectory< derived_t >::forwardTrackStateRange ( IndexType istartpoint) const

Range for the track states from istartpoint to the trajectory end, i.e from inside out.

Parameters
istartpointTrajectory state index for the innermost track state to start from
Returns
Iterator pair to iterate over
Note
Const version

◆ getTrackState() [1/2]

template<typename derived_t>
TrackStateProxy Acts::MultiTrajectory< derived_t >::getTrackState ( IndexType istate)

Access a writable point on the trajectory by index.

Note
Only available if the MultiTrajectory is not read-only
Parameters
istateThe index to access
Returns
Read-write proxy to the stored track state

◆ getTrackState() [2/2]

template<typename derived_t>
ConstTrackStateProxy Acts::MultiTrajectory< derived_t >::getTrackState ( IndexType istate) const

Access a read-only point on the trajectory by index.

Note
Only available if the MultiTrajectory is not read-only
Parameters
istateThe index to access
Returns
Read only proxy to the stored track state

◆ getUncalibratedSourceLink()

template<typename derived_t>
SourceLink Acts::MultiTrajectory< derived_t >::getUncalibratedSourceLink ( IndexType istate) const
protected

Get the uncalibrated source link for a track state.

Parameters
istateState index
Returns
Source link for the specified state

◆ has() [1/2]

template<typename derived_t>
bool Acts::MultiTrajectory< derived_t >::has ( HashedString key,
IndexType istate ) const
protected

Check for component existence of key in track satet istate.

Parameters
keyThe key for which to check
istateThe track state index to check
Returns
True if the component exists, false if not

◆ has() [2/2]

template<typename derived_t>
template<HashedString key>
bool Acts::MultiTrajectory< derived_t >::has ( IndexType istate) const
protected

Check for component existence of key in track satet istate.

Template Parameters
keyThe key for which to check
Parameters
istateThe track state index to check
Returns
True if the component exists, false if not

◆ hasColumn()

template<typename derived_t>
bool Acts::MultiTrajectory< derived_t >::hasColumn ( HashedString key) const

Check if a column with a key key exists.

Parameters
keyKey to check for a column with
Returns
True if the column exists, false if not.

◆ jacobian() [1/2]

template<typename derived_t>
TrackStateProxy::Jacobian Acts::MultiTrajectory< derived_t >::jacobian ( IndexType istate)
protected

Retrieve a jacobian proxy instance for a jacobian at a given index.

Parameters
istateThe track state
Returns
Mutable proxy

◆ jacobian() [2/2]

template<typename derived_t>
ConstTrackStateProxy::ConstJacobian Acts::MultiTrajectory< derived_t >::jacobian ( IndexType istate) const
protected

Retrieve a jacobian proxy instance for a jacobian at a given index.

Parameters
istateThe track state
Returns
Const proxy

◆ makeTrackState()

template<typename derived_t>
TrackStateProxy Acts::MultiTrajectory< derived_t >::makeTrackState ( TrackStatePropMask mask = TrackStatePropMask::All,
IndexType iprevious = kInvalid )

Add a track state to the container and return a track state proxy to it This effectively calls addTrackState and getTrackState.

Note
Only available if the track state container is not read-only
Parameters
maskMask indicating which track state components to allocate
ipreviousIndex of the previous track state for linking
Returns
a track state proxy to the newly added track state

◆ parameters() [1/2]

template<typename derived_t>
TrackStateProxy::Parameters Acts::MultiTrajectory< derived_t >::parameters ( IndexType parIdx)
protected

◆ parameters() [2/2]

template<typename derived_t>
ConstTrackStateProxy::ConstParameters Acts::MultiTrajectory< derived_t >::parameters ( IndexType parIdx) const
protected

◆ referenceSurface()

template<typename derived_t>
const Surface * Acts::MultiTrajectory< derived_t >::referenceSurface ( IndexType istate) const
protected

Get the reference surface for a track state.

Parameters
istateState index
Returns
Pointer to the reference surface

◆ reverseTrackStateRange() [1/2]

template<typename derived_t>
auto Acts::MultiTrajectory< derived_t >::reverseTrackStateRange ( IndexType iendpoint)

Range for the track states from iendpoint to the trajectory start, i.e from the outside in.

Note
Only available if the MultiTrajectory is not read-only
Parameters
iendpointTrajectory entry point to start from
Returns
Iterator pair to iterate over
Note
Mutable version

◆ reverseTrackStateRange() [2/2]

template<typename derived_t>
auto Acts::MultiTrajectory< derived_t >::reverseTrackStateRange ( IndexType iendpoint) const

Range for the track states from iendpoint to the trajectory start.

Parameters
iendpointTrajectory entry point to start from
Returns
Iterator pair to iterate over
Note
Const version

◆ setReferenceSurface()

template<typename derived_t>
void Acts::MultiTrajectory< derived_t >::setReferenceSurface ( IndexType istate,
std::shared_ptr< const Surface > surface )
protected

Set the reference surface for a track state.

Parameters
istateState index
surfaceShared pointer to the reference surface

◆ setUncalibratedSourceLink()

template<typename derived_t>
void Acts::MultiTrajectory< derived_t >::setUncalibratedSourceLink ( IndexType istate,
SourceLink && sourceLink )
protected

Set the uncalibrated source link for a track state.

Parameters
istateState index
sourceLinkSource link to set

◆ shareFrom()

template<typename derived_t>
void Acts::MultiTrajectory< derived_t >::shareFrom ( IndexType iself,
IndexType iother,
TrackStatePropMask shareSource,
TrackStatePropMask shareTarget )
protected

Share a shareable component from between track state.

Parameters
iselfThe track state index to share "into"
iotherThe track state index to share from
shareSourceWhich component to share from
shareTargetWhich component to share as. This doesn't have to be the same as shareSource, e.g. predicted can be shared as filtered.
Note
Shareable components are predicted, filtered, smoothed, calibrated, jacobian, or projector. See TrackStatePropMask.
The track states both need to be stored in the same MultiTrajectory instance

◆ size()

template<typename derived_t>
IndexType Acts::MultiTrajectory< derived_t >::size ( ) const

Returns the number of track states contained.

Returns
The number of track states

◆ unset()

template<typename derived_t>
void Acts::MultiTrajectory< derived_t >::unset ( TrackStatePropMask target,
IndexType istate )
protected

Unset an optional track state component.

Parameters
targetThe component to unset
istateThe track state index to operate on

◆ visitBackwards()

template<typename derived_t>
template<typename F>
requires detail_lt::VisitorConcept<F, ConstTrackStateProxy>
void Acts::MultiTrajectory< derived_t >::visitBackwards ( IndexType iendpoint,
F && callable ) const

Visit all previous states starting at a given endpoint.

Parameters
iendpointindex of the last state
callablenon-modifying functor to be called with each point

Member Data Documentation

◆ kInvalid

template<typename derived_t>
IndexType Acts::MultiTrajectory< derived_t >::kInvalid = kTrackIndexInvalid
staticconstexpr

Sentinel value that indicates an invalid index.

◆ MeasurementSizeMax

template<typename derived_t>
unsigned int Acts::MultiTrajectory< derived_t >::MeasurementSizeMax = kMeasurementSizeMax
staticconstexpr

Maximum number of measurement dimensions supported by this trajectory.

◆ ReadOnly

template<typename derived_t>
bool Acts::MultiTrajectory< derived_t >::ReadOnly = IsReadOnlyMultiTrajectory<Derived>::value
staticconstexpr

Flag indicating whether this multi-trajectory is read-only.