19 throw cms::Exception(
"InvalidDetId") <<
"EcalElectronicsId: Cannot create object. Indexes out of bounds. Dcc tower strip xtal " << dccid <<
" " << towerid <<
" " << stripid <<
" " << xtalid <<
".";
20 EcalElectronicsId_= (xtalid&0x7) | ( (stripid&0x7) << 3) | ( (towerid&0x7F) << 6) | ((dccid&0x7F) << 13);
77 if (quadrant ==1 || quadrant== 3) channel = 5*(strip-1) + xtal;
78 else channel = 5*(xtal-1) + strip;
110 return os <<
id.dccId() <<
',' <<
id.towerId() <<
',' <<
id.stripId() <<
',' <<
id.xtalId() ;
static const int MAX_DCCID_EBM
static int EEQuadrant(int dcc, int dcc_channel)
uint32_t EcalElectronicsId_
static const int MAX_XTALID
int xtalId() const
get the channel id
int stripId() const
get the tower id
static const int MIN_TOWERID
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
static const int MIN_STRIPID
static const int MIN_DCCID
static const int MIN_XTALID
int towerId() const
get the tower id
std::ostream & operator<<(std::ostream &os, const EcalElectronicsId &id)
static const int MAX_DCCID_EBP
static const int MAX_DCCID
static const int MIN_DCCID_EBM
static const int MAX_TOWERID
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
static const int MAX_DCCID_EEM
EcalSubdetector subdet() const
get the subdet
int zside() const
zside = +1 or -1
static const int MAX_STRIPID
static const int MIN_DCCID_EBP
static const int MAX_DCCID_EEP
static const int kDCCChannelBoundary
static const int MIN_DCCID_EEM
int channelId() const
so far for EndCap only :
static const int MIN_DCCID_EEP