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];
172 const IndexType nschin[32] =
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];
186 IndexType
chamberIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic)
const 218 IndexType
layerIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il)
const 220 const IndexType layersInChamber = 6;
221 return (
chamberIndex(ie, is, ir, ic) - 1 ) * layersInChamber + il;
265 virtual LongIndexType
stripChannelStart( IndexType ie, IndexType is, IndexType ir )
const = 0;
273 LongIndexType
stripChannelIndex( IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType istrip )
const 299 virtual IndexType
chipsPerLayer( IndexType is, IndexType ir )
const = 0;
306 virtual IndexType
chipStart( IndexType ie, IndexType is, IndexType ir )
const = 0;
316 IndexType
chipIndex( IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ichip )
const 331 IndexType
chipIndex(
const CSCDetId&
id, IndexType ichip )
const 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];
374 IndexType
hvSegmentIndex(IndexType is, IndexType ir, IndexType iwire )
const;
399 virtual IndexType
sectorStart( IndexType ie, IndexType is, IndexType ir )
const = 0;
411 IndexType
gasGainIndex( IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il,
412 IndexType ihvsegment, IndexType ichip )
const 428 IndexType
gasGainIndex(
const CSCDetId&
id, IndexType istrip, IndexType iwire )
const 447 IndexType
gasGainIndex( IndexType ihvsegment, IndexType ichip,
const CSCDetId&
id )
const 487 virtual std::pair<CSCDetId, IndexType>
detIdFromChipIndex( IndexType ichi )
const = 0;
509 virtual int dbIndex(
const CSCDetId &
id,
int & channel)
const = 0;
virtual IndexType onlineRingsInStation(IndexType is) const =0
virtual IndexType chipsPerOnlineLayer(IndexType is, IndexType ir) const =0
virtual IndexType stripChannelsPerLayer(IndexType is, IndexType ir) 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
boost::tuple< CSCDetId, IndexType, IndexType > GasGainIndexType
CSCDetId detIdFromChamberIndex(IndexType ici) const
virtual std::pair< CSCDetId, IndexType > detIdFromStripChannelIndex(LongIndexType ichi) const =0
IndexType chambersInRingOfStation(IndexType is, IndexType ir) const
virtual LongIndexType stripChannelStart(IndexType ie, IndexType is, IndexType ir) const =0
virtual LongIndexType maxStripChannelIndex() const =0
IndexType layerIndex(const CSCDetId &id) const
virtual IndexType stripChannelsPerOfflineLayer(IndexType is, IndexType ir) const =0
IndexType maxLayerIndex() const
virtual GasGainIndexType detIdFromGasGainIndex(IndexType igg) const =0
CSCDetId detIdFromChamberLabel(IndexType ie, IndexType icl) const
virtual int dbIndex(const CSCDetId &id, int &channel) 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
virtual IndexType chipsPerLayer(IndexType is, IndexType ir) const =0
IndexType sectorsPerLayer(IndexType is, IndexType ir) const
virtual IndexType stripChannelsPerOnlineLayer(IndexType is, IndexType ir) 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 maxGasGainIndex() const =0
virtual IndexType maxChipIndex() const =0
IndexType chipIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ichip) const
virtual IndexType sectorStart(IndexType ie, IndexType is, IndexType ir) const =0
IndexType chamberLabelFromChamberIndex(IndexType) const
IndexType offlineRingsInStation(IndexType is) const
IndexType chipIndex(IndexType istrip) const
virtual std::pair< CSCDetId, IndexType > detIdFromChipIndex(IndexType ichi) 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
LongIndexType stripChannelIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType istrip) const
virtual std::string name() const
virtual IndexType chipStart(IndexType ie, IndexType is, IndexType ir) const =0
IndexType gasGainIndex(IndexType ihvsegment, IndexType ichip, const CSCDetId &id) const
IndexType chamberIndex(const CSCDetId &id) const
virtual ~CSCIndexerBase()
std::vector< IndexType > chamberLabel_