|
ACTS
Experiment-independent tracking
|
Track container interface class. More...
#include <Acts/EventData/TrackContainer.hpp>
Public Types | |
| using | const_iterator |
| Type alias for const iterator over tracks in container. | |
| using | ConstTrackProxy |
| Alias for the const version of a track proxy, with the same backends as this container. | |
| using | ConstTrackStateProxy |
| Type alias for const track state proxy from multi-trajectory. | |
| using | IndexType = TrackIndexType |
| The index type of the track container, taken from the container backend. | |
| using | iterator |
| Type alias for mutable iterator over tracks in container. | |
| using | size_type = IndexType |
| Type alias for size type of track container. | |
| using | TrackContainerBackend = track_container_t |
| Type alias for track container backend type. | |
| using | TrackProxy |
| Alias for the mutable version of a track proxy, with the same backends as this container. | |
| using | TrackStateContainerBackend = traj_t |
| Type alias for track state container backend type. | |
| using | TrackStateProxy = typename MultiTrajectory<traj_t>::TrackStateProxy |
| Type alias for mutable track state proxy from multi-trajectory. | |
Public Member Functions | |
| void | clear () |
| Clear the content of the track container. | |
| constexpr IndexType | size () const |
| Get the size (number of tracks) of the track container. | |
TrackContainer construction | |
Constructors for the track container by using a set of backends (track + track state). The container can either take ownership of the backends or just hold references to them. This is driven by the | |
| TrackContainer (holder_t< track_container_t > container, holder_t< traj_t > traj) | |
| Constructor from a track container backend and a track state container backend. | |
| TrackContainer (auto &container, auto &traj) | |
| Constructor from references to a track container backend and to a track state container backend. | |
| TrackContainer (const auto &container, const auto &traj) | |
| Constructor from const references to a track container backend and to a track state container backend. | |
TrackContainer track (proxy) access and manipulation | |
| ConstTrackProxy | getTrack (IndexType itrack) const |
| Get a const track proxy for a track index. | |
| TrackProxy | getTrack (IndexType itrack) |
| Get a mutable track proxy for a track index. | |
| ConstTrackProxy | at (IndexType itrack) const |
| Get a const track proxy for a track index. | |
| TrackProxy | at (IndexType itrack) |
| Get a mutable track proxy for a track index. | |
| IndexType | addTrack () |
| Add a track to the container. | |
| TrackProxy | makeTrack () |
Add a track to the container and return a track proxy to it This effectively calls addTrack and getTrack. | |
| void | removeTrack (IndexType itrack) |
Remove a track at index itrack from the container. | |
| iterator | begin () |
| Get a mutable iterator to the first track in the container. | |
| iterator | end () |
| Get a past-the-end iterator for this container. | |
| const_iterator | begin () const |
| Get an const iterator to the first track in the container. | |
| const_iterator | end () const |
| Get a past-the-end iterator for this container. | |
TrackContainer column management | |
| template<typename T> requires (!ReadOnly) | |
| constexpr void | addColumn (std::string_view key) |
| Add a dynamic column to the track container. | |
| constexpr bool | hasColumn (const std::string &key) const |
| Check if this track container has a specific dynamic column. | |
| constexpr bool | hasColumn (HashedString key) const |
| Check if a this track container has a specific dynamic column. | |
| template<typename other_track_container_t> requires (!ReadOnly) | |
| void | ensureDynamicColumns (const other_track_container_t &other) |
| Helper function to make this track container match the dynamic columns of another one. | |
TrackContainer backend access | |
| auto & | container () |
| Get a mutable reference to the track container backend. | |
| const auto & | container () const |
| Get a const reference to the track container backend. | |
| auto & | trackStateContainer () |
| Get a mutable reference to the track state container backend. | |
| auto & | trackStateContainerHolder () |
| Retrieve the holder of the track state container. | |
| const auto & | trackStateContainer () const |
| Get a const reference to the track state container backend. | |
| const auto & | trackStateContainerHolder () const |
| Retrieve the holder of the track state container. | |
Static Public Attributes | |
| static constexpr IndexType | kInvalid = kTrackIndexInvalid |
| Sentinel value that indicates an invalid index. | |
| static constexpr bool | ReadOnly |
| Indicates if this track container is read-only, or if it can be modified. | |
| static constexpr bool | TrackStateReadOnly |
| Indicates if the track state container is read-only, or if it can be modified. | |
Protected Member Functions | |
| template<typename T> requires (!ReadOnly) | |
| constexpr T & | component (HashedString key, IndexType itrack) |
| Get mutable reference to track component using runtime key. | |
| template<typename T> | |
| constexpr const T & | component (HashedString key, IndexType itrack) const |
| Get const reference to track component using runtime key. | |
| template<typename T, HashedString key> requires (!ReadOnly) | |
| constexpr T & | component (IndexType itrack) |
| Get mutable reference to track component using compile-time key. | |
| template<typename T, HashedString key> | |
| constexpr const T & | component (IndexType itrack) const |
| Get const reference to track component using compile-time key. | |
| constexpr TrackProxy::Covariance | covariance (IndexType itrack) |
| Get mutable covariance matrix for a track. | |
| constexpr ConstTrackProxy::ConstCovariance | covariance (IndexType itrack) const |
| Get const covariance matrix for a track. | |
| auto | forwardTrackStateRange (IndexType itrack) |
| Get mutable range for iterating track states in forward order. | |
| auto | forwardTrackStateRange (IndexType itrack) const |
| Get const range for iterating track states in forward order. | |
| constexpr TrackProxy::Parameters | parameters (IndexType itrack) |
| Get mutable parameters for a track. | |
| constexpr ConstTrackProxy::ConstParameters | parameters (IndexType itrack) const |
| Get const parameters for a track. | |
| auto | reverseTrackStateRange (IndexType itrack) |
| Get mutable range for iterating track states in reverse order. | |
| auto | reverseTrackStateRange (IndexType itrack) const |
| Get const range for iterating track states in reverse order. | |
Track container interface class.
This type represents a collections of tracks. It uses a backend to store both the actual tracks and the associated track states.
| track_container_t | the track container backend |
| traj_t | the track state container backend |
| holder_t | ownership management class for the backend |
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::const_iterator |
Type alias for const iterator over tracks in container.
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::ConstTrackProxy |
Alias for the const version of a track proxy, with the same backends as this container.
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::ConstTrackStateProxy |
Type alias for const track state proxy from multi-trajectory.
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::IndexType = TrackIndexType |
The index type of the track container, taken from the container backend.
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::iterator |
Type alias for mutable iterator over tracks in container.
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::size_type = IndexType |
Type alias for size type of track container.
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::TrackContainerBackend = track_container_t |
Type alias for track container backend type.
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::TrackProxy |
Alias for the mutable version of a track proxy, with the same backends as this container.
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::TrackStateContainerBackend = traj_t |
Type alias for track state container backend type.
| using Acts::TrackContainer< track_container_t, traj_t, holder_t >::TrackStateProxy = typename MultiTrajectory<traj_t>::TrackStateProxy |
Type alias for mutable track state proxy from multi-trajectory.
| Acts::TrackContainer< track_container_t, traj_t, holder_t >::TrackContainer | ( | holder_t< track_container_t > | container, |
| holder_t< traj_t > | traj ) |
Constructor from a track container backend and a track state container backend.
| container | the track container backend |
| traj | the track state container backend |
| Acts::TrackContainer< track_container_t, traj_t, holder_t >::TrackContainer | ( | auto & | container, |
| auto & | traj ) |
Constructor from references to a track container backend and to a track state container backend.
| container | the track container backend |
| traj | the track state container backend |
| Acts::TrackContainer< track_container_t, traj_t, holder_t >::TrackContainer | ( | const auto & | container, |
| const auto & | traj ) |
Constructor from const references to a track container backend and to a track state container backend.
| container | the track container backend |
| traj | the track state container backend |
|
constexpr |
Add a dynamic column to the track container.
| key | the name of the column to be added |
| IndexType Acts::TrackContainer< track_container_t, traj_t, holder_t >::addTrack | ( | ) |
Add a track to the container.
Note this only creates the logical track and allocates memory. You can combine this with getTrack to obtain a track proxy
| TrackProxy Acts::TrackContainer< track_container_t, traj_t, holder_t >::at | ( | IndexType | itrack | ) |
Get a mutable track proxy for a track index.
| itrack | the track index in the container |
| ConstTrackProxy Acts::TrackContainer< track_container_t, traj_t, holder_t >::at | ( | IndexType | itrack | ) | const |
Get a const track proxy for a track index.
| itrack | the track index in the container |
| iterator Acts::TrackContainer< track_container_t, traj_t, holder_t >::begin | ( | ) |
Get a mutable iterator to the first track in the container.
| const_iterator Acts::TrackContainer< track_container_t, traj_t, holder_t >::begin | ( | ) | const |
Get an const iterator to the first track in the container.
| void Acts::TrackContainer< track_container_t, traj_t, holder_t >::clear | ( | ) |
Clear the content of the track container.
|
constexprprotected |
Get mutable reference to track component using runtime key.
| T | Component type to retrieve |
| key | Hashed string key for the component |
| itrack | Track index to get component for |
|
constexprprotected |
Get const reference to track component using runtime key.
| T | Component type to retrieve |
| key | Hashed string key for the component |
| itrack | Track index to get component for |
|
constexprprotected |
Get mutable reference to track component using compile-time key.
| T | Component type to retrieve |
| key | Hashed string key for the component |
| itrack | Track index to get component for |
|
constexprprotected |
Get const reference to track component using compile-time key.
| T | Component type to retrieve |
| key | Hashed string key for the component |
| itrack | Track index to get component for |
| auto & Acts::TrackContainer< track_container_t, traj_t, holder_t >::container | ( | ) |
Get a mutable reference to the track container backend.
| const auto & Acts::TrackContainer< track_container_t, traj_t, holder_t >::container | ( | ) | const |
Get a const reference to the track container backend.
|
constexprprotected |
Get mutable covariance matrix for a track.
| itrack | Track index to get covariance for |
|
constexprprotected |
Get const covariance matrix for a track.
| itrack | Track index to get covariance for |
| iterator Acts::TrackContainer< track_container_t, traj_t, holder_t >::end | ( | ) |
Get a past-the-end iterator for this container.
| const_iterator Acts::TrackContainer< track_container_t, traj_t, holder_t >::end | ( | ) | const |
Get a past-the-end iterator for this container.
| void Acts::TrackContainer< track_container_t, traj_t, holder_t >::ensureDynamicColumns | ( | const other_track_container_t & | other | ) |
Helper function to make this track container match the dynamic columns of another one.
This will only work if the track container supports this source, and depends on the implementation details of the dynamic columns of the container
| other_track_container_t | Type of the other track container |
| other | The other track container |
|
protected |
Get mutable range for iterating track states in forward order.
| itrack | Track index to get state range for |
| std::invalid_argument | if track has no stem index |
|
protected |
Get const range for iterating track states in forward order.
| itrack | Track index to get state range for |
| std::invalid_argument | if track has no stem index |
| TrackProxy Acts::TrackContainer< track_container_t, traj_t, holder_t >::getTrack | ( | IndexType | itrack | ) |
Get a mutable track proxy for a track index.
| itrack | the track index in the container |
| ConstTrackProxy Acts::TrackContainer< track_container_t, traj_t, holder_t >::getTrack | ( | IndexType | itrack | ) | const |
Get a const track proxy for a track index.
| itrack | the track index in the container |
|
constexpr |
Check if this track container has a specific dynamic column.
| key | the key to check for |
|
constexpr |
Check if a this track container has a specific dynamic column.
| key | the key to check for |
| TrackProxy Acts::TrackContainer< track_container_t, traj_t, holder_t >::makeTrack | ( | ) |
Add a track to the container and return a track proxy to it This effectively calls addTrack and getTrack.
|
constexprprotected |
Get mutable parameters for a track.
| itrack | Track index to get parameters for |
|
constexprprotected |
Get const parameters for a track.
| itrack | Track index to get parameters for |
| void Acts::TrackContainer< track_container_t, traj_t, holder_t >::removeTrack | ( | IndexType | itrack | ) |
Remove a track at index itrack from the container.
itrack! | itrack | The index of the track to remove |
|
protected |
Get mutable range for iterating track states in reverse order.
| itrack | Track index to get state range for |
|
protected |
Get const range for iterating track states in reverse order.
| itrack | Track index to get state range for |
|
constexpr |
Get the size (number of tracks) of the track container.
| auto & Acts::TrackContainer< track_container_t, traj_t, holder_t >::trackStateContainer | ( | ) |
Get a mutable reference to the track state container backend.
| const auto & Acts::TrackContainer< track_container_t, traj_t, holder_t >::trackStateContainer | ( | ) | const |
Get a const reference to the track state container backend.
| auto & Acts::TrackContainer< track_container_t, traj_t, holder_t >::trackStateContainerHolder | ( | ) |
Retrieve the holder of the track state container.
| const auto & Acts::TrackContainer< track_container_t, traj_t, holder_t >::trackStateContainerHolder | ( | ) | const |
Retrieve the holder of the track state container.
|
staticconstexpr |
Sentinel value that indicates an invalid index.
|
staticconstexpr |
Indicates if this track container is read-only, or if it can be modified.
|
staticconstexpr |
Indicates if the track state container is read-only, or if it can be modified.