12#ifndef ALICEO2_ITSMFT_TRACKING_INDEXTABLECONFIGURATIONSET_H_
13#define ALICEO2_ITSMFT_TRACKING_INDEXTABLECONFIGURATIONSET_H_
30 if (catalog.nSurfaces >
MaxLayoutSurfaces || (catalog.nSurfaces && !catalog.surfaces)) {
34 const auto kind = catalog.surfaces[
layer].kind;
40 mKindByLayer[
layer] = slot;
41 mPresent[slot] =
true;
43 mLayers = catalog.nSurfaces;
57 assert(
layer < mLayers);
58 return mByKind[mKindByLayer[
layer]];
62 std::array<IndexTableUtilsCore, 2> mByKind;
63 std::array<uint8_t, MaxLayoutSurfaces> mKindByLayer{};
64 std::array<bool, 2> mPresent{};
Shared index-table utilities for periodic-phi surface charts.
size_t size() const noexcept
size_t configurationCount() const noexcept
const IndexTableUtilsCore & operator[](size_t layer) const noexcept
IndexTableUtilsCore & forKind(SurfaceKind kind) noexcept
bool reset(SurfaceCatalogView catalog) noexcept
bool hasKind(SurfaceKind kind) const noexcept
GLenum GLuint GLint GLint layer
uint32_t trackClusterIndicesSize noexcept
constexpr uint32_t MaxLayoutSurfaces