17#ifndef O2_ALICE_ITS3_SPECS
18#define O2_ALICE_ITS3_SPECS
31constexpr double cm{1e+2};
32constexpr double mu{1e-6 *
cm};
33constexpr double mm{1e-3 *
cm};
53namespace powerswitches
64constexpr EColor
color{kMagenta};
87constexpr double width{segment::width};
93constexpr double width{segment::width};
97constexpr unsigned int nRSUs{12};
110constexpr std::array<int, 3>
nHoles{11, 11, 11};
118constexpr double width{segment::width};
131constexpr std::array<unsigned int, nLayers>
nSegments{3, 4, 5};
133constexpr std::array<double, nLayers>
radii{19.0006 *
mm, 25.228 *
mm, 31.4554 *
mm};
140namespace pixelarray::pixels
149constexpr double pitchX{15.0 *
mu};
150constexpr double pitchZ{15.0 *
mu};
158constexpr double pitchX{22.5 *
mu};
159constexpr double pitchZ{22.5 *
mu};
163constexpr double pitchX{18.0 *
mu};
164constexpr double pitchZ{18.0 *
mu};
171constexpr unsigned int mDetIDs{2 * 12 * 12 * 12};
173constexpr unsigned int l0IDEnd{(2 * 3 * 12 * 12) - 1};
174constexpr unsigned int l0IDTot{2 * 3 * 12 * 12};
177constexpr unsigned int l1IDTot{2 * 4 * 12 * 12};
180constexpr unsigned int l2IDTot{2 * 5 * 12 * 12};
183template <
typename T =
int>
186 if (
static_cast<T
>(
l0IDStart) <= detID && detID <=
static_cast<T
>(
l0IDEnd)) {
188 }
else if (
static_cast<T
>(
l1IDStart) <= detID && detID <=
static_cast<T
>(
l1IDEnd)) {
190 }
else if (
static_cast<T
>(
l2IDStart) <= detID && detID <=
static_cast<T
>(
l2IDEnd)) {
196template <
typename T =
int>
202 }
else if (
layer == 1) {
204 }
else if (
layer == 2) {
210template <
typename T =
int>
213 return detID < static_cast<T>(
nChips);
GLdouble GLdouble GLdouble GLdouble top
GLuint GLsizei GLsizei * length
GLenum GLuint GLint GLint layer
GLdouble GLdouble GLdouble z
constexpr std::array< double, 3 > radiusHoles
constexpr double longeronsLength
constexpr double edgeBetwChipAndFoam
constexpr double longeronsWidth
constexpr double HringLength
constexpr std::array< int, 3 > nHoles
constexpr double gapBetwHringsLongerons
constexpr unsigned int nChips
constexpr unsigned int l2IDTot
constexpr unsigned int l1IDStart
constexpr unsigned int l0IDStart
constexpr unsigned int l2IDEnd
constexpr unsigned int l2IDStart
constexpr unsigned int l0IDTot
T getDetID2Layer(T detID)
constexpr unsigned int l1IDEnd
constexpr unsigned int l1IDTot
constexpr unsigned int mDetIDs
constexpr unsigned int l0IDEnd
constexpr double responseUpperLimit
constexpr double responseYShift
constexpr unsigned int nTiles
constexpr double lengthSensitive
constexpr unsigned int nRSUs
constexpr unsigned int nTilesPerSegment
constexpr double thicknessOut
constexpr double thicknessIn
constexpr double thickness
constexpr std::array< double, nLayers > radiiOuter
constexpr double nominalYShift
constexpr unsigned int nSensorsIB
constexpr double totalThickness
constexpr std::array< unsigned int, nLayers > nSegments
constexpr std::array< double, nLayers > radii
constexpr std::array< double, nLayers > radiiInner
constexpr double equatorialGap
constexpr std::array< double, nLayers > radiiMiddle
constexpr unsigned int nTotLayers
constexpr unsigned int nLayers