5 int kCrystalsInPhi = 1;
24 + (
crystal()%kCrystalsInPhi > 0 ?
crystal()%kCrystalsInPhi : kCrystalsInPhi ) ;
29 int kCrystalsInEta = 1, kCrystalsInPhi = 1;
30 std::array<int,4> kTypeBoundaries = {};
54 return kCrystalsInEta * (
module() -1 )
55 + kCrystalsInEta * kTypeBoundaries[(
modType() -1)]
56 + ( (
crystal()-1)/kCrystalsInPhi + 1 ) ;
60 int max_iphi = 1, max_ieta = 1;
87 int max_iphi =1 ,max_ieta = 1, nphi = 0, keta = 0, tmphi = hi + 1;
88 std::array<int,4> kTypeBoundaries = {};
119 if ( tmphi > max_ieta*max_iphi ) { zside = 1; }
120 int ip = (tmphi-1)%max_iphi+1;
121 int ie = (tmphi-1)/max_iphi - max_ieta;
122 ie = ( zside == 1 ? ie + 1 : -ie ) ;
125 if (
module > kTypeBoundaries[1] ) { modtype = (
module > kTypeBoundaries[2] ? 3 : 2 ) ; }
126 if ( modtype > 1 ) {
module =
module - kTypeBoundaries[modtype-1]; }
127 crystal = ((ip-1)%nphi+1)+((ie-1)%keta)*nphi;
135 os <<
" BTL " << std::endl
136 <<
" Side : " <<
id.mtdSide() << std::endl
137 <<
" Rod : " <<
id.mtdRR() << std::endl
138 <<
" Module : " <<
id.module() << std::endl
139 <<
" Crystal type: " <<
id.modType() << std::endl
140 <<
" Crystal : " <<
id.crystal() << std::endl;
static constexpr int MAX_IETA_BAR
int ietaAbs(CrysLayout lay) const
static constexpr std::array< int, 4 > kTypeBoundariesReference
Detector identifier base class for the MIP Timing Layer.
static constexpr int MAX_IPHI_BAR
static constexpr int HALF_ROD
static constexpr int MAX_IETA_TILE
static constexpr int MAX_IPHI_BARZFLAT
static constexpr int MAX_IPHI_TILE
static constexpr int kCrystalsInPhiBar
static constexpr std::array< int, 4 > kTypeBoundariesBarZflat
int hashedIndex(CrysLayout lay) const
static constexpr int kCrystalsInPhiTile
int iphi(CrysLayout lay) const
BTLDetId getUnhashedIndex(int hi, CrysLayout lay) const
static constexpr int kCrystalsInEtaBar
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
std::ostream & operator<<(std::ostream &os, const BTLDetId &id)