1 #ifndef MuonDetId_CSCIndexer_h 2 #define MuonDetId_CSCIndexer_h 87 const IndexType nschin[24] = {1, 37, 73, 109, 127, 0, 163, 181, 0, 217, 469, 0,
88 235, 271, 307, 343, 361, 0, 397, 415, 0, 451, 505, 0};
89 return nschin[(ie - 1) * 12 + (is - 1) * 3 + ir - 1];
106 return (
chamberIndex(ie, is, ir, ic) - 1) * layersInChamber + il;
115 const IndexType nrins[5] = {0, 3, 2, 2, 2};
126 if (is > 1 && ir < 2)
141 const IndexType nSCinC[12] = {80, 80, 64, 80, 80, 0, 80, 80, 0, 80, 80, 0};
142 return nSCinC[(is - 1) * 3 + ir - 1];
159 const LongIndexType nStart[24] = {1, 17281, 34561, 48385, 57025, 0, 74305, 82945, 0, 100225, 217729, 0,
160 108865, 126145, 143425, 157249, 165889, 0, 183169, 191809, 0, 209089, 235009, 0};
161 return nStart[(ie - 1) * 12 + (is - 1) * 3 + ir - 1];
201 const IndexType nCinL[12] = {5, 5, 4, 5, 5, 0, 5, 5, 0, 5, 5, 0};
202 return nCinL[(is - 1) * 3 + ir - 1];
219 const IndexType nStart[24] = {1, 1081, 2161, 3025, 3565, 0, 4645, 5185, 0, 6265, 13609, 0,
220 6805, 7885, 8965, 9829, 10369, 0, 11449, 11989, 0, 13069, 14689, 0};
222 return nStart[(ie - 1) * 12 + (is - 1) * 3 + ir - 1];
273 const IndexType nSinL[12] = {1, 3, 3, 3, 5, 0, 3, 5, 0, 3, 5, 0};
274 return nSinL[(is - 1) * 3 + ir - 1];
300 if (is > 2 && ir == 1) {
301 if (iwire >= 33 && iwire <= 64) {
303 }
else if (iwire >= 65 && iwire <= 96) {
307 }
else if (is > 1 && ir == 2) {
308 if (iwire >= 17 && iwire <= 28) {
310 }
else if (iwire >= 29 && iwire <= 40) {
312 }
else if (iwire >= 41 && iwire <= 52) {
314 }
else if (iwire >= 53 && iwire <= 64) {
318 }
else if (is == 1 && ir == 2) {
319 if (iwire >= 25 && iwire <= 48) {
321 }
else if (iwire >= 49 && iwire <= 64) {
325 }
else if (is == 1 && ir == 3) {
326 if (iwire >= 13 && iwire <= 22) {
328 }
else if (iwire >= 23 && iwire <= 32) {
332 }
else if (is == 2 && ir == 1) {
333 if (iwire >= 45 && iwire <= 80) {
335 }
else if (iwire >= 81 && iwire <= 112) {
360 const IndexType nStart[24] = {1, 1081, 4321,
368 return nStart[(ie - 1) * 12 + (is - 1) * 3 + ir - 1];
static std::vector< IndexType > fillChamberLabel()
IndexType sectorsPerLayer(IndexType is, IndexType ir) const
IndexType hvSegmentIndex(IndexType is, IndexType ir, IndexType iwire) const
IndexType gasGainIndex(const CSCDetId &id, IndexType istrip, IndexType iwire) const
CSCDetId detIdFromChamberIndex(IndexType ici) const
IndexType chamberIndex(const CSCDetId &id) const
IndexType chipsPerLayer(IndexType is, IndexType ir) const
LongIndexType stripChannelIndex(const CSCDetId &id, IndexType istrip) const
IndexType stripChannelsPerLayer(IndexType is, IndexType ir) const
constexpr std::array< uint8_t, layerIndexSize > layer
IndexType chipIndex(IndexType istrip) const
IndexType sectorStart(IndexType ie, IndexType is, IndexType ir) const
static std::vector< IndexType > const & chamberLabel()
int dbIndex(const CSCDetId &id, int &channel)
CSCDetId detIdFromLayerIndex(IndexType ili) const
IndexType gasGainIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType istrip, IndexType iwire) const
IndexType chipIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ichip) const
IndexType chipIndex(const CSCDetId &id, IndexType ichip) const
CSCDetId detIdFromChamberLabel(IndexType ie, IndexType icl) const
IndexType chamberLabelFromChamberIndex(IndexType) const
IndexType hvSegmentsPerLayer(IndexType is, IndexType ir) const
static IndexType ringsInStation(IndexType is)
LongIndexType stripChannelIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType istrip) const
std::pair< CSCDetId, IndexType > detIdFromChipIndex(IndexType ichi) const
IndexType startChamberIndexInEndcap(IndexType ie, IndexType is, IndexType ir) const
std::pair< CSCDetId, IndexType > detIdFromStripChannelIndex(LongIndexType ichi) const
IndexType layerIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il) const
CSCDetId detIdFromChamberIndex_OLD(IndexType ici) const
IndexType layerIndex(const CSCDetId &id) const
static IndexType chambersInRingOfStation(IndexType is, IndexType ir)
IndexType chamberIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic) const
IndexType chipStart(IndexType ie, IndexType is, IndexType ir) const
LongIndexType stripChannelStart(IndexType ie, IndexType is, IndexType ir) const