#include <CSCIndexerBase.h>
ABC for CSCIndexer classes.
A CSCIndexer class provides a linear index for various sublevels of the endcap muon CSC system for use in access to information stored in the Conditions Database. Only concrete derived classes can be instantiated.
It supplies a linear index for: 1. Each chamber of the CSC system: range 1-468 (CSC system as installed 2008) 469-540 for ME42
2. Each layer of the CSC system: range 1-2808 (CSCs 2008) 2809-3240 for ME42
3. Each strip channel of the CSC system: range 1-217728 (CSCs 2008) 217729-252288 for ME42
4. Each Buckeye chip (1 for each layer in each CFEB) of the CSC system: range 1-13608 (CSCs 2008) 13609-15768 for ME42
5. Each Gas Gain Sector (1 for each [CFEB*HV segment] combination in each layer): range 1-45144 (CSCs 2008) 45145-55944 for ME42
The chamber and layer may be specified by CSCDetId or labels for endcap, station, ring, chamber, layer.
The strip channel is a value 1-80 for most chambers.
ME1/3 and ME1/1B have 64 channels.
ME1/1A has 16 channels at CMS startup (2008-2013) and 48 channels after Long Shutdown 1 ('LS1' 2013-2014)
The chip number is a value 1-30 (or 24: ME13 chambers have only 24 chips.)
The main user interface is the set of functions
chamberIndex(.)
layerIndex(.)
stripChannelIndex(.)
chipIndex(.)
But the other functions are public since they may be useful in contexts other than for Conditions Data for which the above functions are intended.
The terminology "label" can be confusing.
The CSC project typically refers to an element of the CSC detector by hardware labels endcap (+z, -z), station (1-4), ring (1-3), chamber (1-18 or 1-36 depending on ring), layer (1-6). Strips (and wiregroups) are number 1-N where N is the total number of strips in a given layer.
Offline, we turn +z, -z into integers 1, 2 and extend the ring index to 4 to mean ME1/1A (leaving ring 1 in station 1 to mean ME1/1B when dealing with strip planes. Since there is only one common wire plane sometimes ring 1, station 1 means the entire ME1/1 and sometimes just ME1/1B.) So in offline code, when we talk about "labels" for an element, we typically mean these integer values.
For example, strip 71 of layer 4 of chamber 17 of ME-3/1 is labelled {ie=2, is=3, ir=1, ic=17, il=4, istrip=71}. However, in CSCIndexer classes, "label" may be generalized to mean more than this. For example, the "chamberLabel_" vector encodes these integer labels for a chamber, and does not just mean the value ic=1-18 or 36.
Definition at line 55 of file CSCIndexerBase.h.
typedef boost::tuple<CSCDetId, IndexType, IndexType > CSCIndexerBase::GasGainIndexType |
Definition at line 64 of file CSCIndexerBase.h.
typedef uint16_t CSCIndexerBase::IndexType |
Definition at line 59 of file CSCIndexerBase.h.
typedef uint32_t CSCIndexerBase::LongIndexType |
Definition at line 60 of file CSCIndexerBase.h.
CSCIndexerBase::CSCIndexerBase | ( | ) |
Definition at line 3 of file CSCIndexerBase.cc.
References chamberLabel_, chambersInRingOfStation(), prof2calltree::count, and ringsInStation().
: chamberLabel_(271) // # of physical chambers per endcap + 1. Includes ME42. { // Fill the member vector which permits decoding of the linear chamber index. // Beware that the ME42 indices 235-270 within this vector do NOT correspond to // their 'real' linear indices (which are 469-504 for +z) IndexType count = 0; chamberLabel_[count] = 0; for ( IndexType is = 1 ; is <= 4; ++is ) { IndexType irmax = ringsInStation(is); for ( IndexType ir = 1; ir <= irmax; ++ir ) { IndexType icmax = chambersInRingOfStation(is, ir); for ( IndexType ic = 1; ic <= icmax; ++ic ) { chamberLabel_[ ++count ] = is*1000 + ir*100 + ic ; } } } }
CSCIndexerBase::~CSCIndexerBase | ( | ) | [virtual] |
Definition at line 27 of file CSCIndexerBase.cc.
{}
IndexType CSCIndexerBase::chamberIndex | ( | IndexType | ie, |
IndexType | is, | ||
IndexType | ir, | ||
IndexType | ic | ||
) | const [inline] |
Linear index for chamber 'ic' in ring 'ir' of station 'is' in endcap 'ie', in range 1-468 (CSCs 2008) or 469-540 (ME42)
Definition at line 186 of file CSCIndexerBase.h.
References startChamberIndexInEndcap().
Referenced by chamberIndex(), and layerIndex().
{ return startChamberIndexInEndcap(ie, is, ir) + ic - 1; // -1 so start index _is_ ic=1 }
Linear index to label each CSC in CSC system. Argument is the CSCDetId of some CSC chamber.
Output is 1-468 (CSCs 2008) 469-540 (with ME42)
Definition at line 201 of file CSCIndexerBase.h.
References chamberIndex(), Reference_intrackfit_cff::endcap, relativeConstraints::ring, and relativeConstraints::station.
{ return chamberIndex( id.endcap(), id.station(), id.ring(), id.chamber() ); }
CSCIndexerBase::IndexType CSCIndexerBase::chamberLabelFromChamberIndex | ( | IndexType | ici | ) | const |
Encoded chambers label value from cache for input chamber index. For debugging only!
Definition at line 30 of file CSCIndexerBase.cc.
References chamberLabel_.
{ // This is just for cross-checking // Expected range of input range argument is 1-540. // 1-468 for CSCs installed at 2008 start-up. 469-540 for ME42. if ( ici > 468 ) { // ME42 ici -= 234; // now in range 235-306 if ( ici > 270 ) // -z { ici -= 36; // now in range 235-270 } } else // in range 1-468 { if ( ici > 234 ) // -z { ici -= 234; // now in range 1-234 } } return chamberLabel_[ici]; }
How many chambers are there in an "offline" ring ir of station is? Works for ME1a (ring 4 of ME1) too.
Definition at line 118 of file CSCIndexerBase.h.
Referenced by CSCIndexerBase().
{ const IndexType nCinR[16] = { 36,36,36,36, 18,36,0,0, 18,36,0,0, 18,36,0,0 }; // chambers in ring return nCinR[(is - 1)*4 + ir - 1]; }
IndexType CSCIndexerBase::chipIndex | ( | IndexType | ie, |
IndexType | is, | ||
IndexType | ir, | ||
IndexType | ic, | ||
IndexType | il, | ||
IndexType | ichip | ||
) | const [inline] |
Linear index for Buckeye chip 'ichip' in layer 'il' of chamber 'ic' of ring 'ir' in station 'is' of endcap 'ie'.
Definition at line 316 of file CSCIndexerBase.h.
References chipsPerLayer(), and chipStart().
Referenced by chipIndex(), and gasGainIndex().
{ return chipStart(ie, is, ir) + ( (ic - 1)*6 + il - 1 ) * chipsPerLayer(is, ir) + (ichip - 1); }
Linear index for Buckeye chip 'ichip' in layer labelled by CSCDetId 'id'.
Definition at line 331 of file CSCIndexerBase.h.
References chipIndex(), Reference_intrackfit_cff::endcap, relativeConstraints::ring, and relativeConstraints::station.
Chip number in a chamber for a Buckeye chip processing strip 'istrip'.
Input is hardware strip channel 1-80.
Output is 1-5.
Definition at line 344 of file CSCIndexerBase.h.
{
return (istrip - 1)/16 + 1;
}
Number of Buckeye chips indices per layer in a chamber in ring 'ir' of station 'is'.
Station label range 1-4, Ring label range 1-4 (4=ME1a)
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
Referenced by chipIndex(), gasGainIndex(), and sectorsPerLayer().
virtual IndexType CSCIndexerBase::chipsPerOnlineLayer | ( | IndexType | is, |
IndexType | ir | ||
) | const [pure virtual] |
Number of Buckeye chips per layer in an online chamber in ring 'ir' of station 'is'. Works for ME1a (ring 4 of ME1) too.
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
Referenced by sectorsPerOnlineLayer().
virtual IndexType CSCIndexerBase::chipStart | ( | IndexType | ie, |
IndexType | is, | ||
IndexType | ir | ||
) | const [pure virtual] |
Linear index for 1st Buckeye chip in ring 'ir' of station 'is' in endcap 'ie'.
Endcap label range 1-2, Station label range 1-4, Ring label range 1-4 (4=ME1a)
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
Referenced by chipIndex().
virtual int CSCIndexerBase::dbIndex | ( | const CSCDetId & | id, |
int & | channel | ||
) | const [pure virtual] |
Create the "Igor Index" for a strip channel. This is integer ie*100000 + is*10000 + ir*1000 + ic*10 + il.
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
CSCDetId for a physical chamber labelled by the chamber index (1-468 non-ME4/2, 469-540 ME4/2)
No distinction between ME1/1a and ME1/1b.
Definition at line 104 of file CSCIndexerBase.cc.
References chamberLabel_, detIdFromChamberLabel(), and diffTwoXMLs::label.
Referenced by detIdFromLayerIndex().
{ // Expected range of input range argument is 1-540. // 1-468 for CSCs installed at 2008 start-up. 469-540 for ME42. IndexType ie = 1; if ( ici > 468 ) { // ME42 ici -= 234; // now in range 235-306 if ( ici > 270 ) // -z { ie = 2; ici -= 36; // now in range 235-270 } } else // in range 1-468 { if ( ici > 234 ) // -z { ie = 2; ici -= 234; // now in range 1-234 } } IndexType label = chamberLabel_[ici]; return detIdFromChamberLabel( ie, label ); }
Decode CSCDetId from the encoded chamber values in chamberLabel cache vector. Requires endcap label since that is not encoded in cache.
Definition at line 92 of file CSCIndexerBase.cc.
References CSCDetId, and diffTwoXMLs::label.
Referenced by detIdFromChamberIndex().
virtual std::pair<CSCDetId, IndexType> CSCIndexerBase::detIdFromChipIndex | ( | IndexType | ichi | ) | const [pure virtual] |
CSCDetId + chip within chamber from conditions data chip index.
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
virtual GasGainIndexType CSCIndexerBase::detIdFromGasGainIndex | ( | IndexType | igg | ) | const [pure virtual] |
CSCDetId + HV segment + chip within chamber from conditions data gas gain index.
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
CSCDetId for a physical layer labelled by the layer index (1-2808 non-ME4/2, 2809-3240 ME4/2)
No distinction between ME1/1a and ME1/1b.
Definition at line 134 of file CSCIndexerBase.cc.
References CSCDetId, detIdFromChamberIndex(), Reference_intrackfit_cff::endcap, relativeConstraints::ring, and relativeConstraints::station.
Referenced by CSCIndexerPostls1::detIdFromChipIndex(), CSCIndexerStartup::detIdFromChipIndex(), CSCIndexerPostls1::detIdFromStripChannelIndex(), and CSCIndexerStartup::detIdFromStripChannelIndex().
virtual std::pair<CSCDetId, IndexType> CSCIndexerBase::detIdFromStripChannelIndex | ( | LongIndexType | ichi | ) | const [pure virtual] |
CSCDetId + strip channel within layer from conditions data strip index.
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
IndexType CSCIndexerBase::gasGainIndex | ( | IndexType | ie, |
IndexType | is, | ||
IndexType | ir, | ||
IndexType | ic, | ||
IndexType | il, | ||
IndexType | ihvsegment, | ||
IndexType | ichip | ||
) | const [inline] |
Linear index for Gas gain sector, based on the HV segment# and the chip# located in layer 'il' of chamber 'ic' of ring 'ir' in station 'is' of endcap 'ie'.
Output is 1-45144 (CSCs 2008) and 45145-55944 (ME42) and 55945-57240 (ME1a)
Definition at line 411 of file CSCIndexerBase.h.
References chipsPerLayer(), sectorsPerLayer(), and sectorStart().
Referenced by gasGainIndex().
{ return sectorStart(ie,is,ir) + ( (ic-1)*6 + il - 1 ) * sectorsPerLayer(is,ir) + (ihvsegment - 1) * chipsPerLayer(is,ir) + (ichip - 1); }
IndexType CSCIndexerBase::gasGainIndex | ( | const CSCDetId & | id, |
IndexType | istrip, | ||
IndexType | iwire | ||
) | const [inline] |
Linear index for Gas gain sector, based on CSCDetId 'id', cathode strip 'istrip' and anode wire 'iwire'
Definition at line 428 of file CSCIndexerBase.h.
References chipIndex(), Reference_intrackfit_cff::endcap, gasGainIndex(), hvSegmentIndex(), relativeConstraints::ring, and relativeConstraints::station.
{ return gasGainIndex( id.endcap(), id.station(), id.ring(), id.chamber(), id.layer(), hvSegmentIndex( id.station(), id.ring(), iwire ), chipIndex(istrip) ); }
IndexType CSCIndexerBase::gasGainIndex | ( | IndexType | ihvsegment, |
IndexType | ichip, | ||
const CSCDetId & | id | ||
) | const [inline] |
Linear index for Gas gain sector, based on CSCDetId 'id', the HV segment# and the chip#. Note: to allow method overloading, the parameters order is reversed comparing to the (id,strip,wire) method
Output is 1-45144 (CSCs 2008) and 45145-55944 (ME42) and 55945-57240 (ME1a)
Definition at line 447 of file CSCIndexerBase.h.
References Reference_intrackfit_cff::endcap, gasGainIndex(), relativeConstraints::ring, and relativeConstraints::station.
{ return gasGainIndex(id.endcap(), id.station(), id.ring(), id.chamber(), id.layer(), ihvsegment, ichip); }
CSCIndexerBase::IndexType CSCIndexerBase::hvSegmentIndex | ( | IndexType | is, |
IndexType | ir, | ||
IndexType | iwire | ||
) | const |
Linear index inside a chamber for HV segment given station, ring, and wiregroup number.
Output is 1-5.
ME1a (ir=4), ME1b(ir=1) and whole ME11 are all assumed to have the same single HV segment
Definition at line 57 of file CSCIndexerBase.cc.
Referenced by gasGainIndex().
{ IndexType hvSegment = 1; // There is only one HV segment in ME1/1 if (is > 2 && ir == 1) // HV segments are the same in ME3/1 and ME4/1 { if ( iwire >= 33 && iwire <= 64 ) { hvSegment = 2; } else if ( iwire >= 65 && iwire <= 96 ) { hvSegment = 3; } } else if (is > 1 && ir == 2) // HV segments are the same in ME2/2, ME3/2, and ME4/2 { if ( iwire >= 17 && iwire <= 28 ) { hvSegment = 2; } else if ( iwire >= 29 && iwire <= 40 ) { hvSegment = 3; } else if ( iwire >= 41 && iwire <= 52 ) { hvSegment = 4; } else if ( iwire >= 53 && iwire <= 64 ) { hvSegment = 5; } } else if (is == 1 && ir == 2) { if ( iwire >= 25 && iwire <= 48 ) { hvSegment = 2; } else if ( iwire >= 49 && iwire <= 64 ) { hvSegment = 3; } } else if (is == 1 && ir == 3) { if ( iwire >= 13 && iwire <= 22 ) { hvSegment = 2; } else if ( iwire >= 23 && iwire <= 32 ) { hvSegment = 3; } } else if (is == 2 && ir == 1) { if ( iwire >= 45 && iwire <= 80 ) { hvSegment = 2; } else if ( iwire >= 81 && iwire <= 112) { hvSegment = 3; } } return hvSegment; }
Number of HV segments per layer in a chamber in ring ir of station is.
Station label range 1-4, Ring label range 1-4 (4=ME1a)
ME1a (ir=4), ME1b(ir=1) and whole ME11 are all assumed to have the same single HV segment
Definition at line 360 of file CSCIndexerBase.h.
Referenced by sectorsPerLayer(), and sectorsPerOnlineLayer().
{ const IndexType nSinL[16] = { 1,3,3,1, 3,5,0,0, 3,5,0,0, 3,5,0,0 }; return nSinL[(is - 1) * 4 + ir - 1]; }
IndexType CSCIndexerBase::layerIndex | ( | IndexType | ie, |
IndexType | is, | ||
IndexType | ir, | ||
IndexType | ic, | ||
IndexType | il | ||
) | const [inline] |
Linear index for layer 'il' of chamber 'ic' in ring 'ir' of station 'is' in endcap 'ie', in range 1-2808 (CSCs 2008) or 2809-3240 (ME42).
Definition at line 218 of file CSCIndexerBase.h.
References chamberIndex().
Referenced by layerIndex().
{ const IndexType layersInChamber = 6; return (chamberIndex(ie, is, ir, ic) - 1 ) * layersInChamber + il; }
Linear index to label each hardware layer in CSC system. Argument is the CSCDetId of some CSC layer.
Output is 1-2808 (CSCs 2008) 2809-3240 (ME42)
Definition at line 234 of file CSCIndexerBase.h.
References Reference_intrackfit_cff::endcap, layerIndex(), relativeConstraints::ring, and relativeConstraints::station.
{ return layerIndex(id.endcap(), id.station(), id.ring(), id.chamber(), id.layer()); }
IndexType CSCIndexerBase::maxChamberIndex | ( | ) | const [inline] |
Definition at line 78 of file CSCIndexerBase.h.
{ return 540; }
virtual IndexType CSCIndexerBase::maxChipIndex | ( | ) | const [pure virtual] |
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
virtual IndexType CSCIndexerBase::maxGasGainIndex | ( | ) | const [pure virtual] |
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
IndexType CSCIndexerBase::maxLayerIndex | ( | ) | const [inline] |
Definition at line 79 of file CSCIndexerBase.h.
{ return 3240; }
virtual LongIndexType CSCIndexerBase::maxStripChannelIndex | ( | ) | const [pure virtual] |
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
virtual std::string CSCIndexerBase::name | ( | ) | const [inline, virtual] |
Reimplemented in CSCIndexerPostls1, and CSCIndexerStartup.
Definition at line 69 of file CSCIndexerBase.h.
{ return "CSCIndexerBase"; }
How many offline rings are there in station 'is'=1, 2, 3, 4 ?
Definition at line 108 of file CSCIndexerBase.h.
{ const IndexType nrings[5] = { 0, 4, 2, 2, 2 }; // offline rings per station return nrings[is]; }
How many online rings are there in station 'is'=1, 2, 3, 4 ?
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
How many physical rings are there in station 'is'=1, 2, 3, 4 ?
Definition at line 91 of file CSCIndexerBase.h.
Referenced by CSCIndexerBase().
{ const IndexType nrins[5] = {0, 3, 2, 2, 2}; // physical rings per station return nrins[is]; }
Number of Gas Gain sectors per layer in a chamber in ring ir of station is.
Station label range 1-4, Ring label range 1-4 (4=ME1a)
Definition at line 383 of file CSCIndexerBase.h.
References chipsPerLayer(), and hvSegmentsPerLayer().
Referenced by CSCIndexerPostls1::detIdFromGasGainIndex(), CSCIndexerStartup::detIdFromGasGainIndex(), and gasGainIndex().
{ return chipsPerLayer(is, ir) * hvSegmentsPerLayer(is, ir); }
Number of Gas Gain sectors per layer in an online chamber in ring 'ir' of station 'is'. Works for ME1a (ring 4 of ME1) too.
The difference between this and sectorsPerLayer completely depends on the difference between chipsPerOnlineLayer and chipsPerLayer
Definition at line 153 of file CSCIndexerBase.h.
References chipsPerOnlineLayer(), and hvSegmentsPerLayer().
{ return chipsPerOnlineLayer(is, ir) * hvSegmentsPerLayer(is, ir); }
virtual IndexType CSCIndexerBase::sectorStart | ( | IndexType | ie, |
IndexType | is, | ||
IndexType | ir | ||
) | const [pure virtual] |
Linear index for 1st Gas gain sector in ring 'ir' of station 'is' in endcap 'ie'.
Endcap label range 1-2, Station label range 1-4, Ring label range 1-4 (4=ME1a)
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
Referenced by gasGainIndex().
IndexType CSCIndexerBase::startChamberIndexInEndcap | ( | IndexType | ie, |
IndexType | is, | ||
IndexType | ir | ||
) | const [inline] |
Starting index for first chamber in ring 'ir' of station 'is' in endcap 'ie', in range 1-468 (CSCs 2008) or 469-540 (ME42).
Definition at line 170 of file CSCIndexerBase.h.
Referenced by chamberIndex().
{ const IndexType nschin[32] = { 1,37,73,1, 109,127,0,0, 163,181,0,0, 217,469,0,0, 235,271,307,235, 343,361,0,0, 397,415,0,0, 451,505,0,0 }; return nschin[(ie - 1)*16 + (is - 1)*4 + ir - 1]; }
LongIndexType CSCIndexerBase::stripChannelIndex | ( | IndexType | ie, |
IndexType | is, | ||
IndexType | ir, | ||
IndexType | ic, | ||
IndexType | il, | ||
IndexType | istrip | ||
) | const [inline] |
Linear index for strip channel istrip in layer 'il' of chamber 'ic' of ring 'ir' in station 'is' of endcap 'ie'.
Definition at line 273 of file CSCIndexerBase.h.
References stripChannelsPerLayer(), and stripChannelStart().
Referenced by stripChannelIndex().
{ return stripChannelStart(ie, is, ir) + ( (ic - 1)*6 + il - 1 ) * stripChannelsPerLayer(is, ir) + (istrip - 1); }
LongIndexType CSCIndexerBase::stripChannelIndex | ( | const CSCDetId & | id, |
IndexType | istrip | ||
) | const [inline] |
Linear index for strip channel 'istrip' in layer labeled by CSCDetId 'id'
Definition at line 285 of file CSCIndexerBase.h.
References Reference_intrackfit_cff::endcap, relativeConstraints::ring, relativeConstraints::station, and stripChannelIndex().
{ return stripChannelIndex(id.endcap(), id.station(), id.ring(), id.chamber(), id.layer(), istrip ); }
virtual IndexType CSCIndexerBase::stripChannelsPerLayer | ( | IndexType | is, |
IndexType | ir | ||
) | const [pure virtual] |
Number of strip channel indices for a layer in a chamber defined by station number 'is' and ring number 'ir'.
Station label range 1-4, Ring label range 1-4 (4=ME1a)
This depends on the ordering of the channels in the database. E.g., in startup scenario there are 80 indices allocated per ME1/1 layer with 1-64 belonging to ME1b and 65-80 belonging to ME1a. So the ME1/a database indices are mapped to extend the ME1/b index ranges, which is how the raw hardware chnnels numbering is implemented.
In the currently implemented upgrade scenario on the other hand, the ME1b still keeps the 80 indices wide ranges (with the last 16 of them remaining unused), while the ME1/1A gets its own 48 indices wide ranges.
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
Referenced by stripChannelIndex().
virtual IndexType CSCIndexerBase::stripChannelsPerOfflineLayer | ( | IndexType | is, |
IndexType | ir | ||
) | const [pure virtual] |
Number of strip readout channels per layer in an offline chamber with ring 'ir' and station 'is'. Works for ME1a (ring 4 of ME1) too.
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
virtual IndexType CSCIndexerBase::stripChannelsPerOnlineLayer | ( | IndexType | is, |
IndexType | ir | ||
) | const [pure virtual] |
Number of strip readout channels per layer in an online chamber with ring 'ir' and station 'is'. Works for ME1a (ring 4 of ME1) too.
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
virtual LongIndexType CSCIndexerBase::stripChannelStart | ( | IndexType | ie, |
IndexType | is, | ||
IndexType | ir | ||
) | const [pure virtual] |
Linear index for 1st strip channel in ring 'ir' of station 'is' in endcap 'ie'.
Endcap label range 1-2, Station label range 1-4, Ring label range 1-4 (4=ME1a)
Implemented in CSCIndexerPostls1, and CSCIndexerStartup.
Referenced by stripChannelIndex().
std::vector<IndexType> CSCIndexerBase::chamberLabel_ [protected] |
Encode a chamber's is, ir, ic values as is*1000 + ir*100 + ic in linear vector with serial index 1-270. Save space in this vector by not storing ie.
Definition at line 530 of file CSCIndexerBase.h.
Referenced by chamberLabelFromChamberIndex(), CSCIndexerBase(), and detIdFromChamberIndex().