12#ifndef ALICEO2_ITSMFT_TRACKING_TRAVERSALTOPOLOGY_H_
13#define ALICEO2_ITSMFT_TRACKING_TRAVERSALTOPOLOGY_H_
30struct IterationParameters;
81 const auto index = edge.value();
106 edges.data(),
static_cast<uint32_t
>(
edges.size()),
107 paths.data(),
static_cast<uint32_t
>(
paths.size()),
140static_assert(
sizeof(CellPath) == 4);
141static_assert(std::is_standard_layout_v<TraversalTopologyView> && std::is_trivially_copyable_v<TraversalTopologyView>);
GLsizei const GLuint * paths
uint32_t trackClusterIndicesSize noexcept
TraversalTopologyBuildResult deriveTraversalTopology(const DetectorConfiguration &layout, const o2::itsmft::IterationParameters ¶meters)
uint32_t getEntriesBound() const noexcept
uint32_t getEntries() const noexcept
uint32_t getFirstEntry() const noexcept
std::optional< TraversalTopology > topology
TraversalTopologyError error
const CellPathId * roadStartPaths
SurfaceCatalogView getSurfaceCatalogView() const noexcept
const SurfaceDescriptor & getSurface(LayerId id) const
TopologyRange getPathsStartingWithEdge(EdgeId edge) const
const uint32_t * roadStartComponentOffsets
const LayerId * activeSurfaceList
uint32_t nRoadStartComponentOffsets
const CellPathId * scheduledPaths
SurfaceCatalogView catalog
const CellPath & getPath(CellPathId id) const
const Edge & getEdge(EdgeId id) const
const uint32_t * pathsByFirstEdgeOffsets
const CellPathId * pathsByFirstEdge
std::vector< Edge > edges
std::vector< LayerId > activeSurfaceList
std::vector< uint32_t > pathsByFirstEdgeOffsets
std::vector< CellPathId > scheduledPaths
TraversalTopologyView getView(SurfaceCatalogView catalog) const noexcept
std::vector< uint32_t > roadStartComponentOffsets
std::vector< CellPath > paths
std::vector< CellPathId > pathsByFirstEdge
std::vector< CellPathId > roadStartPaths