28 int activeSurfaceCount,
30 gsl::span<const SurfaceChartRange> chartRanges)
noexcept
45 const std::uint64_t binCount =
static_cast<std::uint64_t
>(
params.RowBins) *
static_cast<std::uint64_t
>(
params.ColBins);
46 if (binCount >
static_cast<std::uint64_t
>(std::numeric_limits<int>::max())) {
50 if (chartRanges.size() <
static_cast<std::size_t
>(activeSurfaceCount)) {
53 std::array<float, o2::itsmft::IndexTableUtilsCore::MaxLayers> colMin{};
54 std::array<float, o2::itsmft::IndexTableUtilsCore::MaxLayers> colMax{};
55 for (
int iLayer = 0; iLayer < activeSurfaceCount; ++iLayer) {
56 if (!o2::gpu::GPUCommonMath::Finite(chartRanges[iLayer].
min) ||
57 !o2::gpu::GPUCommonMath::Finite(chartRanges[iLayer].
max)) {
60 if (!(chartRanges[iLayer].
max > chartRanges[iLayer].
min)) {
63 colMin[iLayer] = chartRanges[iLayer].min;
64 colMax[iLayer] = chartRanges[iLayer].max;
68 params.RowBins,
params.ColBins, 0.f, o2::constants::math::TwoPI,
69 gsl::span<const float>{colMin.data(),
static_cast<std::size_t
>(activeSurfaceCount)},
70 gsl::span<const float>{colMax.data(),
static_cast<std::size_t
>(activeSurfaceCount)});