5 int kCrystalsInPhi = 1;
28 (
crystal() % kCrystalsInPhi > 0 ?
crystal() % kCrystalsInPhi : kCrystalsInPhi);
33 int kCrystalsInEta = 1, kCrystalsInPhi = 1;
34 std::array<int, 4> kTypeBoundaries = {};
65 zside() > 0 ? (
crystal() - 1) / kCrystalsInPhi + 1 : kCrystalsInEta - (
crystal() - 1) / kCrystalsInPhi;
66 return kCrystalsInEta * (
module() - 1) + kCrystalsInEta * kTypeBoundaries[(
modType() - 1)] + etaRowInModule;
70 int max_iphi = 1, max_ieta = 1;
102 int max_iphi = 1, max_ieta = 1,
nphi = 0, keta = 0, tmphi = hi + 1;
103 std::array<int, 4> kTypeBoundaries = {};
142 if (tmphi > max_ieta * max_iphi) {
145 int ip = (tmphi - 1) % max_iphi + 1;
146 int ie = (tmphi - 1) / max_iphi - max_ieta;
147 ie = (zside == 1 ? ie + 1 : -ie);
148 rod = (ip - 1) /
nphi + 1;
149 module = (ie - 1) / keta + 1;
150 if (
module > kTypeBoundaries[1]) {
151 modtype = (
module > kTypeBoundaries[2] ? 3 : 2);
156 crystal = zside == 1 ? ((ip - 1) %
nphi + 1) + ((ie - 1) % keta) *
nphi
157 : ((ip - 1) %
nphi + 1) + (keta - 1 - (ie - 1) % keta) *
nphi;
186 os <<
" BTL " << std::endl
187 <<
" Side : " <<
id.mtdSide() << std::endl
188 <<
" Rod : " <<
id.mtdRR() << std::endl
189 <<
" Module : " <<
id.module() << std::endl
190 <<
" Crystal type: " <<
id.modType() << std::endl
191 <<
" Crystal : " <<
id.crystal() << std::endl;
static constexpr int MAX_IETA_BAR
int modulesPerType(CrysLayout lay) const
static constexpr int kCrystalsInPhiBarPhi
int ietaAbs(CrysLayout lay) const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Detector identifier base class for the MIP Timing Layer.
static constexpr int MAX_IPHI_BAR
static constexpr std::array< int, 4 > kTypeBoundariesBarZflat
BTLDetId geographicalId(CrysLayout lay) const
static constexpr int HALF_ROD
static constexpr std::array< int, 4 > kTypeBoundariesBarPhiFlat
static constexpr int MAX_IETA_TILE
static constexpr int MAX_IPHI_BARZFLAT
static constexpr int MAX_IPHI_TILE
static constexpr int kCrystalsInPhiBar
static constexpr int MAX_IETA_BARPHIFLAT
int hashedIndex(CrysLayout lay) const
static constexpr int kCrystalsInEtaBarPhi
static constexpr int kCrystalsInPhiTile
int iphi(CrysLayout lay) const
BTLDetId getUnhashedIndex(int hi, CrysLayout lay) const
static constexpr int kCrystalsInEtaBar
static constexpr std::array< int, 4 > kTypeBoundariesReference
static constexpr int MAX_IETA_BARZFLAT
static constexpr int kCrystalsInEtaBarZ
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0...
static constexpr int kCrystalsInEtaTile
static constexpr int kCrystalsInPhiBarZ
T mod(const T &a, const T &b)
static constexpr int MAX_IPHI_BARPHIFLAT