5#ifndef ACTSTRKEVENT_TRACKCONTAINER_H
6#define ACTSTRKEVENT_TRACKCONTAINER_H 1
10#include "Acts/EventData/TrackContainer.hpp"
11#include "Acts/EventData/VectorTrackContainer.hpp"
12#include "Acts/EventData/VectorMultiTrajectory.hpp"
23 Acts::detail::ValueHolder>;
27 Acts::detail::ValueHolder>;
34 using TrackContainerBase::TrackContainerBase;
35 using value_type =
typename TrackContainerBase::ConstTrackProxy;
38 bool empty()
const {
return size() == 0; }
48 template <
typename track_container_t>
86 std::optional<ConstTrackProxy>
m_proxy {std::nullopt};
99 return index != ConstTrackProxy::kInvalid;
107 index=ConstTrackProxy::kInvalid;
119 index = element.has_value() ? element.value().index() : ConstTrackProxy::kInvalid;
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
ConstTrackProxyPtr ElementConstPointer
std::optional< ConstTrackProxy > ElementType
The type we get when we dereference a link, and derived types.
static void reverseLookup(const track_container_t &container, ElementConstReference element, index_type &index)
static ElementType lookup(const stored_index_type &index, const track_container_t &container)
static void reset(stored_index_type &index)
std::optional< ConstTrackProxy > ElementConstReference
static bool isValid(const stored_index_type &index)
track_container_t::IndexType index_type
The type of an index, as provided to or returned from a link.
typename track_container_t::ConstTrackProxy ConstTrackProxy
The type of the const track proxy.
index_type stored_index_type
The type of an index, as stored internally within a link.
static index_type storedToExternal(stored_index_type index)
ConstTrackProxy operator[](unsigned int index) const
typename TrackContainerBase::ConstTrackProxy value_type
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Acts::TrackContainer< TrackBackend, TrackStateBackend, Acts::detail::ValueHolder > TrackContainerBase
Acts::VectorMultiTrajectory MutableTrackStateBackend
Acts::ConstVectorTrackContainer TrackBackend
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
Acts::VectorTrackContainer MutableTrackBackend
Acts::ConstVectorMultiTrajectory TrackStateBackend
ConstTrackProxyPtr(const ConstTrackProxyPtr &)=default
std::optional< ConstTrackProxy > m_proxy
const ConstTrackProxy * operator->() const
ConstTrackProxyPtr(ConstTrackProxyPtr &&)=default
ConstTrackProxyPtr & operator=(const ElementType *src)
ConstTrackProxyPtr(const ConstTrackProxy &val)
ConstTrackProxyPtr(const ElementType *src)
ConstTrackProxyPtr(ConstTrackProxy &&val)
ConstTrackProxy operator*() const
typename ActsTrk::IndexingPolicy< ActsTrk::TrackContainer > type