17 int theLevelPart = muonConstants.
getValue(
"level");
54 LogDebug(
"CSCNumbering") <<
"endcap=" << fwbw_id;
58 station_id = station_tag;
59 LogDebug(
"CSCNumbering") <<
"station=" << station_id;
63 subring_id = copyno + 1;
64 LogDebug(
"CSCNumbering") <<
"subring=" << subring_id;
68 sector_id = copyno + 1;
69 LogDebug(
"CSCNumbering") <<
"sector=" << sector_id;
73 layer_id = copyno + 1;
74 LogDebug(
"CSCNumbering") <<
"layer=" << layer_id;
85 if ((fwbw_id < 1) || (fwbw_id > 2)) {
86 edm::LogError(
"CSCNumbering") <<
"@SUB=CSCNumberingScheme::baseNumberToUnitNumber" 87 <<
"forward/backward id out of range:" << fwbw_id;
90 if ((station_id < 1) || (station_id > 4)) {
91 edm::LogError(
"CSCNumbering") <<
"@SUB=CSCNumberingScheme::baseNumberToUnitNumber" 92 <<
"station id out of range:" << station_id;
95 if ((ring_id < 1) || (ring_id > 4)) {
96 edm::LogError(
"CSCNumbering") <<
"@SUB=CSCNumberingScheme::baseNumberToUnitNumber" 97 <<
"ring id out of range:" <<
ring_id;
100 if ((subring_id < 1) || (subring_id > 2)) {
101 edm::LogError(
"CSCNumbering") <<
"@SUB=CSCNumberingScheme::baseNumberToUnitNumber" 102 <<
"subring id out of range:" << subring_id;
105 if ((sector_id < 1) || (sector_id > 36)) {
106 edm::LogError(
"CSCNumbering") <<
"@SUB=CSCNumberingScheme::baseNumberToUnitNumber" 107 <<
"sector id out of range:" << sector_id;
111 if ((layer_id < 0) || (layer_id > 6)) {
112 edm::LogError(
"CSCNumbering") <<
"@SUB=CSCNumberingScheme::baseNumberToUnitNumber" 113 <<
"layer id out of range" << layer_id;
118 int chamber_id =
chamberIndex(station_id, ring_id, subring_id, sector_id);
125 edm::LogVerbatim(
"CSCNumbering") <<
"CSCNumberingScheme : fw/bw " << fwbw_id <<
" station " << station_id <<
" ring " 126 << ring_id <<
" subring " << subring_id <<
" chamber " << chamber_id <<
" sector " 127 << sector_id <<
" layer " << layer_id;
141 chamber_id = sector_id;
143 if (subring_id == 1) {
144 chamber_id = 2 * sector_id - 1;
146 chamber_id = 2 * sector_id;
void initMe(const MuonDDDConstants &muonConstants)
int getBaseNo(int level) const
static int rawIdMaker(int iendcap, int istation, int iring, int ichamber, int ilayer)
Compact representation of the geometrical detector hierarchy.
CSCNumberingScheme(const MuonDDDConstants &muonConstants)
int getValue(const std::string &name) const
int chamberIndex(int, int, int, int) const
int baseNumberToUnitNumber(const MuonBaseNumber &) override
int getSuperNo(int level) const