30 constexpr int offsetChamber[] = { 0, 0, 12, 24, 36 };
32 constexpr int layersIn13Sectors = ( layersPerSector * 12 ) + 8;
33 constexpr int layersPerWheel = layersIn13Sectors + 8;
58 if ( wheel <= 0 )
return -1;
59 if ( station <= 0 )
return -2;
60 if ( sector <= 0 )
return -3;
61 if ( superlayer <= 0 )
return -4;
62 if ( layer <= 0 )
return -5;
66 if ( wheel > 5 )
return -1;
67 seqLayerNum += ( wheel - 1 ) * layersPerWheel;
69 if ( sector > 14 )
return -2;
71 station < 4 )
return -2;
72 if ( sector > 13 ) seqLayerNum += layersIn13Sectors;
74 seqLayerNum += ( sector - 1 ) * layersPerSector;
76 if ( station > 4 )
return -3;
78 seqLayerNum += offsetChamber[
station];
80 if ( superlayer > 3 )
return -4;
81 if ( layer > 4 )
return -5;
82 if ( superlayer != 2 ) {
83 if ( superlayer == 3 ) layer += 4;
86 if ( station == 4 )
return -4;
90 return seqLayerNum + layer;
96 return 5 * layersPerWheel;
~DTSequentialLayerNumber()
DTSequentialLayerNumber()
static int id(int wheel, int station, int sector, int superlayer, int layer)