15 for (
IndexType ir = 1; ir != irmax + 1; ++ir) {
17 for (
IndexType ic = 1; ic != icmax + 1; ++ic) {
40 const IndexType prevs[] = {0, 0, 1, 1, 1, 2, 2, 3, 3};
41 const IndexType prevr[] = {0, 0, 1, 2, 3, 1, 2, 1, 2};
132 const IndexType lastplusznonme42layer = 1404;
145 if (isi <= lastnonme42) {
148 if (isi > lastplusznonme42) {
150 isi -= lastplusznonme42;
153 if (isi > lastme13) {
155 layerOffset = lastme13layer;
156 }
else if (isi >= firstme13) {
157 istart = firstme13 - 1;
158 layerOffset = firstme13layer - 1;
164 istart = lastnonme42;
165 layerOffset = lastnonme42layer;
173 ili += lastplusznonme42layer;
185 const IndexType lastplusznonme42layer = 1404;
198 if (ici <= lastnonme42) {
201 if (ici > lastplusznonme42) {
203 ici -= lastplusznonme42;
206 if (ici > lastme13) {
208 layerOffset = lastme13layer;
209 }
else if (ici >= firstme13) {
210 istart = firstme13 - 1;
211 layerOffset = firstme13layer - 1;
217 istart = lastnonme42;
218 layerOffset = lastnonme42layer;
222 IndexType ichip = (ici - 1) % nchipPerLayer + 1;
223 IndexType ili = (ici - 1) / nchipPerLayer + 1;
226 ili += lastplusznonme42layer;
232 int ec =
id.endcap();
233 int st =
id.station();
235 int ch =
id.chamber();
239 if (st == 1 && rg == 4) {
244 return ec * 100000 + st * 10000 + rg * 1000 + ch * 10 + la;