16#ifndef TRACKINGITSU_INCLUDE_INDEXTABLEUTILS_H_
17#define TRACKINGITSU_INCLUDE_INDEXTABLEUTILS_H_
41 GPUhdi()
int getNzBins()
const {
return mNzBins; }
42 GPUhdi()
int getNphiBins()
const {
return mNphiBins; }
43 GPUhdi() float getLayerZ(
int i)
const {
return mLayerZ[
i]; }
50 float mInversePhiBinSize = 0.f;
51 float mLayerZ[8] = {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f};
52 float mInverseZBinSize[8] = {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f};
60 mNphiBins =
params.PhiBins;
61 for (
int iLayer{0}; iLayer <
params.LayerZ.size(); ++iLayer) {
62 mLayerZ[iLayer] =
params.LayerZ[iLayer];
64 for (
unsigned int iLayer{0}; iLayer <
params.LayerZ.size(); ++iLayer) {
65 mInverseZBinSize[iLayer] = 0.5f *
params.ZBins /
params.LayerZ[iLayer];
71 return 0.5f * mNzBins / mLayerZ[layerIndex];
76 return (zCoordinate + mLayerZ[layerIndex]) * mInverseZBinSize[layerIndex];
79GPUhdi()
int IndexTableUtils::getPhiBinIndex(const
float currentPhi)
const
81 return (currentPhi * mInversePhiBinSize);
84GPUhdi()
int IndexTableUtils::getBinIndex(const
int zIndex, const
int phiIndex)
const
86 return o2::gpu::GPUCommonMath::Min(phiIndex * mNzBins + zIndex, mNzBins * mNphiBins - 1);
89GPUhdi()
int IndexTableUtils::countRowSelectedBins(const
int* indexTable, const
int phiBinIndex,
90 const
int minZBinIndex, const
int maxZBinIndex)
const
92 const int firstBinIndex{getBinIndex(minZBinIndex, phiBinIndex)};
93 const int maxBinIndex{firstBinIndex + maxZBinIndex - minZBinIndex + 1};
95 return indexTable[maxBinIndex] - indexTable[firstBinIndex];
100 printf(
"NzBins: %d, NphiBins: %d, InversePhiBinSize: %f\n", mNzBins, mNphiBins, mInversePhiBinSize);
101 for (
int iLayer{0}; iLayer < 7; ++iLayer) {
102 printf(
"Layer %d: Z: %f, InverseZBinSize: %f\n", iLayer, mLayerZ[iLayer], mInverseZBinSize[iLayer]);
GPUhdi() void setNphiBins(const int phiBins)
GPUhdi() float getLayerZ(int i) const
GPUhdi() int getZBinIndex(const int
void setTrackingParameters(const T ¶ms)
float getInverseZCoordinate(const int layerIndex) const
GPUhdi() int getNphiBins() const
GPUhdi() void setNzBins(const int zBins)
GLenum const GLfloat * params
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...