Go to the documentation of this file. 1 #ifndef CSCIndexerBase_H
2 #define CSCIndexerBase_H
65 #include <boost/tuple/tuple.hpp>
105 const IndexType nrins[5] = {0, 3, 2, 2, 2};
122 const IndexType nrings[5] = {0, 4, 2, 2, 2};
131 const IndexType nCinR[16] = {36, 36, 36, 36, 18, 36, 0, 0, 18, 36, 0, 0, 18, 36, 0, 0};
132 return nCinR[(is - 1) * 4 + ir - 1];
180 const IndexType nschin[32] = {1, 37, 73, 1, 109, 127, 0, 0, 163, 181, 0, 0, 217, 469, 0, 0,
181 235, 271, 307, 235, 343, 361, 0, 0, 397, 415, 0, 0, 451, 505, 0, 0};
182 return nschin[(ie - 1) * 16 + (is - 1) * 4 + ir - 1];
224 return (
chamberIndex(ie, is, ir, ic) - 1) * layersInChamber + il;
361 const IndexType nSinL[16] = {1, 3, 3, 1, 3, 5, 0, 0, 3, 5, 0, 0, 3, 5, 0, 0};
362 return nSinL[(is - 1) * 4 + ir - 1];
IndexType sectorsPerLayer(IndexType is, IndexType ir) const
std::vector< IndexType > chamberLabel_
virtual IndexType stripChannelsPerOfflineLayer(IndexType is, IndexType ir) const =0
virtual IndexType stripChannelsPerLayer(IndexType is, IndexType ir) const =0
IndexType layerIndex(const CSCDetId &id) const
IndexType chipIndex(IndexType istrip) const
IndexType chamberIndex(const CSCDetId &id) const
IndexType layerIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il) const
virtual IndexType onlineRingsInStation(IndexType is) const =0
virtual LongIndexType maxStripChannelIndex() const =0
virtual IndexType maxGasGainIndex() const =0
virtual std::pair< CSCDetId, IndexType > detIdFromStripChannelIndex(LongIndexType ichi) const =0
IndexType gasGainIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ihvsegment, IndexType ichip) const
virtual IndexType chipStart(IndexType ie, IndexType is, IndexType ir) const =0
virtual std::string name() const
IndexType ringsInStation(IndexType is) const
IndexType sectorsPerOnlineLayer(IndexType is, IndexType ir) const
virtual IndexType chipsPerLayer(IndexType is, IndexType ir) const =0
CSCDetId detIdFromLayerIndex(IndexType ili) const
LongIndexType stripChannelIndex(const CSCDetId &id, IndexType istrip) const
IndexType hvSegmentsPerLayer(IndexType is, IndexType ir) const
virtual int dbIndex(const CSCDetId &id, int &channel) const =0
IndexType chamberLabelFromChamberIndex(IndexType) const
virtual std::pair< CSCDetId, IndexType > detIdFromChipIndex(IndexType ichi) const =0
IndexType chipIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ichip) const
LongIndexType stripChannelIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType istrip) const
IndexType startChamberIndexInEndcap(IndexType ie, IndexType is, IndexType ir) const
virtual IndexType chipsPerOnlineLayer(IndexType is, IndexType ir) const =0
IndexType maxLayerIndex() const
virtual IndexType stripChannelsPerOnlineLayer(IndexType is, IndexType ir) const =0
CSCDetId detIdFromChamberIndex(IndexType ici) const
IndexType chamberIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic) const
virtual IndexType maxChipIndex() const =0
IndexType gasGainIndex(IndexType ihvsegment, IndexType ichip, const CSCDetId &id) const
virtual GasGainIndexType detIdFromGasGainIndex(IndexType igg) const =0
IndexType offlineRingsInStation(IndexType is) const
virtual IndexType sectorStart(IndexType ie, IndexType is, IndexType ir) const =0
IndexType maxChamberIndex() const
IndexType hvSegmentIndex(IndexType is, IndexType ir, IndexType iwire) const
virtual LongIndexType stripChannelStart(IndexType ie, IndexType is, IndexType ir) const =0
IndexType chambersInRingOfStation(IndexType is, IndexType ir) const
virtual ~CSCIndexerBase()
boost::tuple< CSCDetId, IndexType, IndexType > GasGainIndexType
CSCDetId detIdFromChamberLabel(IndexType ie, IndexType icl) const
IndexType chipIndex(const CSCDetId &id, IndexType ichip) const
IndexType gasGainIndex(const CSCDetId &id, IndexType istrip, IndexType iwire) const