10 "In HBHELinearMap::getChannelTriple: "
11 "input index out of range");
31 const unsigned ind =
find(depth, ieta, iphi);
36 const unsigned ind =
find(depth, ieta, iphi);
39 "In HBHELinearMap::linearIndex: "
40 "invalid channel triple");
48 for (
int ieta = -29; ieta <= -21; ++ieta)
49 for (
unsigned iphi = 1; iphi < 72; iphi += 2)
52 for (
int ieta = -20; ieta <= 20; ++ieta)
54 for (
unsigned iphi = 1; iphi <= 72; ++iphi)
57 for (
int ieta = 21; ieta <= 29; ++ieta)
58 for (
unsigned iphi = 1; iphi < 72; iphi += 2)
63 for (
int ieta = -29; ieta <= -21; ++ieta)
64 for (
unsigned iphi = 1; iphi < 72; iphi += 2)
67 for (
int ieta = -20; ieta <= -18; ++ieta)
68 for (
unsigned iphi = 1; iphi <= 72; ++iphi)
71 for (
int ieta = -16; ieta <= -15; ++ieta)
72 for (
unsigned iphi = 1; iphi <= 72; ++iphi)
75 for (
int ieta = 15; ieta <= 16; ++ieta)
76 for (
unsigned iphi = 1; iphi <= 72; ++iphi)
79 for (
int ieta = 18; ieta <= 20; ++ieta)
80 for (
unsigned iphi = 1; iphi <= 72; ++iphi)
83 for (
int ieta = 21; ieta <= 29; ++ieta)
84 for (
unsigned iphi = 1; iphi < 72; iphi += 2)
89 for (
int ieta = -28; ieta <= -27; ++ieta)
90 for (
unsigned iphi = 1; iphi < 72; iphi += 2)
93 for (
int ieta = -16; ieta <= -16; ++ieta)
94 for (
unsigned iphi = 1; iphi <= 72; ++iphi)
97 for (
int ieta = 16; ieta <= 16; ++ieta)
98 for (
unsigned iphi = 1; iphi <= 72; ++iphi)
101 for (
int ieta = 27; ieta <= 28; ++ieta)
102 for (
unsigned iphi = 1; iphi < 72; iphi += 2)
114 const unsigned abseta =
std::abs(ieta);
117 if (!(abseta <= 29U))
119 "In HBHELinearMap::getSubdetector: "
120 "eta argument out of range");
121 if (!(depth > 0U && depth < 4U))
123 "In HBHELinearMap::getSubdetector: "
124 "depth argument out of range");
128 "In HBHELinearMap::getSubdetector: "
129 "depth argument out of range "
133 else if (abseta == 16U)
HBHEChannelId lookup_[ChannelCount]
uint16_t *__restrict__ id
static HcalSubdetector getSubdetector(unsigned depth, int ieta)
void getChannelTriple(unsigned index, unsigned *depth, int *ieta, unsigned *iphi) const
Abs< T >::type abs(const T &t)
unsigned find(unsigned depth, int ieta, unsigned iphi) const
bool isValidTriple(unsigned depth, int ieta, unsigned iphi) const
__host__ __device__ constexpr RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
const HBHELinearMap & hbheChannelMap()
std::pair< HBHEChannelId, unsigned > MapPair
unsigned linearIndex(unsigned depth, int ieta, unsigned iphi) const