27#ifndef AliceO2_TPC_PadRegionInfo_H
28#define AliceO2_TPC_PadRegionInfo_H
57 const unsigned char partition,
58 const unsigned char numberOfPadRows,
59 const float padHeight,
61 const float radiusFirstRow,
62 const unsigned char rowOffset,
64 const unsigned char globalRowOffset);
109 return mPadsPerRow[padPos.getRow() - mGlobalRowOffset];
129 return localX - mRadiusFirstRow -
border > 0.f && localX - mRadiusFirstRow < (mNumberOfPadRows + 1) * mPadHeight +
border;
132#ifndef GPUCA_ALIGPUCODE
136 const PadPos findPad(const LocalPosition3D& pos) const
165 const float localYfactor = (
side ==
Side::A) ? -1.f : 1.f;
166 const unsigned int row = (localX - mRadiusFirstRow) * mInvPadHeight;
167 if (
row >= mNumberOfPadRows) {
172 const float padfloat = (0.5f * npads * mPadWidth - localYfactor * localY) * mInvPadWidth;
176 const unsigned int pad =
static_cast<unsigned int>(padfloat);
186 float mPadHeight{0.f};
187 float mPadWidth{0.f};
188 float mInvPadHeight{0.f};
189 float mInvPadWidth{0.f};
190 float mRadiusFirstRow{0.f};
192 unsigned short mNumberOfPads{0};
193 unsigned char mPartition{0};
194 unsigned char mRegion{0};
195 unsigned char mNumberOfPadRows{0};
197 unsigned char mRowOffset{0};
199 unsigned char mGlobalRowOffset{0};
203 std::vector<unsigned char> mPadsPerRow;
PadRegionInfo()=default
default constructor
const PadPos findPad(const float localX, const float localY, const Side side) const
unsigned char getPadsInRow(const PadPos &padPos) const
unsigned char getPadsInRow(const int row) const
unsigned char getNumberOfPadRows() const
float getRadiusFirstRow() const
unsigned short getNumberOfPads() const
const PadPos findPad(const LocalPosition3D &pos) const
bool isInRegion(float localX, float border=0.f) const
unsigned char getPadsInRowRegion(const int row) const
float getXhelper() const
Helper variable for geometry calculations.
unsigned char getGlobalRowOffset() const
unsigned char getRegion() const
const PadPos findPad(const LocalPosition2D &pos, const Side side=Side::A) const
float getPadWidth() const
unsigned char getRowOffset() const
Local row offset for geometry calculations.
unsigned char getPartition() const
float getPadHeight() const
GLint GLint GLsizei GLint border
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...