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