5 int kCrystalsInPhi = 1;
20 + (
crystal()%kCrystalsInPhi > 0 ?
crystal()%kCrystalsInPhi : kCrystalsInPhi ) ;
25 int kCrystalsInEta = 1, kCrystalsInPhi = 1;
41 return kCrystalsInEta * (
module() -1 )
43 + ( (
crystal()-1)/kCrystalsInPhi + 1 ) ;
47 int max_iphi = 1, max_ieta = 1;
69 int max_iphi =1 ,max_ieta = 1, nphi = 0, keta = 0, tmphi = hi + 1;
90 if ( tmphi > max_ieta*max_iphi ) { zside = 1; }
91 int ip = (tmphi-1)%max_iphi+1;
92 int ie = (tmphi-1)/max_iphi - max_ieta;
93 ie = ( zside == 1 ? ie + 1 : -ie ) ;
98 crystal = ((ip-1)%nphi+1)+((ie-1)%keta)*nphi;
106 os <<
" BTL " << std::endl
107 <<
" Side : " <<
id.mtdSide() << std::endl
108 <<
" Rod : " <<
id.mtdRR() << std::endl
109 <<
" Module : " <<
id.module() << std::endl
110 <<
" Crystal type: " <<
id.modType() << std::endl
111 <<
" Crystal : " <<
id.crystal() << std::endl;
static constexpr int MAX_IETA_BAR
int ietaAbs(CrysLayout lay) const
static constexpr int kTypeBoundaries[4]
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_TILE
static constexpr int kCrystalsInPhiBar
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
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0...
static constexpr int kCrystalsInEtaTile
std::ostream & operator<<(std::ostream &os, const BTLDetId &id)