23 if(
ism >=1 &&
ism <= 18 ) {
27 if(
ism == 1 ) myFED = 0;
28 if(
ism == 2 ) myFED = 1;
29 if(
ism == 5 ) myFED = 2;
30 if(
ism == 6 ) myFED = 3;
31 if(
ism == 10 ) myFED = 4;
32 if(
ism == 11 ) myFED = 5;
33 if(
ism == 14 ) myFED = 6;
34 if(
ism == 15 ) myFED = 7;
36 return 10*myFED + (ipnid-1);
41 s <<
"Wrong SM id determination: iSM = " <<
ism;
42 throw( std::runtime_error( s.str() ) );
51 void NumbersPn::getPNs(
const int ism,
const int ix,
const int iy, std::vector<int>& PNsInLM )
throw( std::runtime_error ) {
58 PNsInLM.push_back(25);
59 PNsInLM.push_back(26);
60 PNsInLM.push_back(27);
61 PNsInLM.push_back(28);
63 PNsInLM.push_back(30);
64 PNsInLM.push_back(31);
65 PNsInLM.push_back(32);
66 PNsInLM.push_back(33);
71 PNsInLM.push_back(25);
72 PNsInLM.push_back(26);
73 PNsInLM.push_back(27);
74 PNsInLM.push_back(28);
76 PNsInLM.push_back(30);
77 PNsInLM.push_back(31);
78 PNsInLM.push_back(32);
79 PNsInLM.push_back(33);
84 PNsInLM.push_back(20);
85 PNsInLM.push_back(21);
87 PNsInLM.push_back(23);
88 PNsInLM.push_back(24);
90 PNsInLM.push_back(35);
91 PNsInLM.push_back(36);
92 PNsInLM.push_back(37);
93 PNsInLM.push_back(38);
94 PNsInLM.push_back(39);
99 PNsInLM.push_back(20);
100 PNsInLM.push_back(21);
102 PNsInLM.push_back(23);
103 PNsInLM.push_back(24);
105 PNsInLM.push_back(35);
106 PNsInLM.push_back(36);
107 PNsInLM.push_back(37);
108 PNsInLM.push_back(38);
109 PNsInLM.push_back(39);
114 PNsInLM.push_back(20);
115 PNsInLM.push_back(21);
117 PNsInLM.push_back(23);
118 PNsInLM.push_back(24);
120 PNsInLM.push_back(35);
121 PNsInLM.push_back(36);
122 PNsInLM.push_back(37);
123 PNsInLM.push_back(38);
124 PNsInLM.push_back(39);
129 PNsInLM.push_back(0);
130 PNsInLM.push_back(1);
131 PNsInLM.push_back(2);
132 PNsInLM.push_back(4);
135 PNsInLM.push_back(14);
136 PNsInLM.push_back(15);
137 PNsInLM.push_back(16);
138 PNsInLM.push_back(17);
139 PNsInLM.push_back(18);
144 PNsInLM.push_back(0);
145 PNsInLM.push_back(1);
146 PNsInLM.push_back(2);
147 PNsInLM.push_back(4);
150 PNsInLM.push_back(14);
151 PNsInLM.push_back(15);
152 PNsInLM.push_back(16);
153 PNsInLM.push_back(17);
154 PNsInLM.push_back(18);
159 PNsInLM.push_back(0);
160 PNsInLM.push_back(1);
161 PNsInLM.push_back(2);
162 PNsInLM.push_back(4);
164 PNsInLM.push_back(15);
165 PNsInLM.push_back(16);
166 PNsInLM.push_back(17);
167 PNsInLM.push_back(18);
172 PNsInLM.push_back(5);
173 PNsInLM.push_back(6);
174 PNsInLM.push_back(7);
175 PNsInLM.push_back(8);
177 PNsInLM.push_back(11);
178 PNsInLM.push_back(12);
183 PNsInLM.push_back(5);
184 PNsInLM.push_back(6);
185 PNsInLM.push_back(7);
186 PNsInLM.push_back(8);
188 PNsInLM.push_back(11);
189 PNsInLM.push_back(12);
194 PNsInLM.push_back(65);
195 PNsInLM.push_back(66);
196 PNsInLM.push_back(67);
197 PNsInLM.push_back(68);
199 PNsInLM.push_back(70);
200 PNsInLM.push_back(71);
201 PNsInLM.push_back(72);
202 PNsInLM.push_back(73);
207 PNsInLM.push_back(65);
208 PNsInLM.push_back(66);
209 PNsInLM.push_back(67);
210 PNsInLM.push_back(68);
212 PNsInLM.push_back(70);
213 PNsInLM.push_back(71);
214 PNsInLM.push_back(72);
215 PNsInLM.push_back(73);
220 PNsInLM.push_back(60);
221 PNsInLM.push_back(61);
222 PNsInLM.push_back(62);
223 PNsInLM.push_back(63);
224 PNsInLM.push_back(64);
226 PNsInLM.push_back(75);
227 PNsInLM.push_back(76);
228 PNsInLM.push_back(78);
229 PNsInLM.push_back(79);
234 PNsInLM.push_back(60);
235 PNsInLM.push_back(61);
236 PNsInLM.push_back(62);
237 PNsInLM.push_back(63);
238 PNsInLM.push_back(64);
239 PNsInLM.push_back(69);
241 PNsInLM.push_back(74);
242 PNsInLM.push_back(75);
243 PNsInLM.push_back(76);
244 PNsInLM.push_back(77);
245 PNsInLM.push_back(78);
246 PNsInLM.push_back(79);
251 PNsInLM.push_back(60);
252 PNsInLM.push_back(61);
253 PNsInLM.push_back(62);
254 PNsInLM.push_back(63);
255 PNsInLM.push_back(64);
256 PNsInLM.push_back(69);
258 PNsInLM.push_back(74);
259 PNsInLM.push_back(75);
260 PNsInLM.push_back(76);
261 PNsInLM.push_back(77);
262 PNsInLM.push_back(78);
263 PNsInLM.push_back(79);
268 PNsInLM.push_back(40);
269 PNsInLM.push_back(41);
270 PNsInLM.push_back(42);
271 PNsInLM.push_back(43);
272 PNsInLM.push_back(44);
273 PNsInLM.push_back(49);
275 PNsInLM.push_back(54);
276 PNsInLM.push_back(55);
277 PNsInLM.push_back(56);
278 PNsInLM.push_back(57);
279 PNsInLM.push_back(58);
280 PNsInLM.push_back(59);
285 PNsInLM.push_back(40);
286 PNsInLM.push_back(41);
287 PNsInLM.push_back(42);
288 PNsInLM.push_back(43);
289 PNsInLM.push_back(44);
290 PNsInLM.push_back(49);
292 PNsInLM.push_back(54);
293 PNsInLM.push_back(55);
294 PNsInLM.push_back(56);
295 PNsInLM.push_back(57);
296 PNsInLM.push_back(58);
297 PNsInLM.push_back(59);
302 PNsInLM.push_back(40);
303 PNsInLM.push_back(41);
304 PNsInLM.push_back(42);
305 PNsInLM.push_back(43);
306 PNsInLM.push_back(44);
308 PNsInLM.push_back(55);
309 PNsInLM.push_back(56);
310 PNsInLM.push_back(58);
311 PNsInLM.push_back(59);
316 PNsInLM.push_back(45);
317 PNsInLM.push_back(46);
318 PNsInLM.push_back(47);
319 PNsInLM.push_back(48);
321 PNsInLM.push_back(50);
322 PNsInLM.push_back(51);
323 PNsInLM.push_back(52);
324 PNsInLM.push_back(53);
329 PNsInLM.push_back(45);
330 PNsInLM.push_back(46);
331 PNsInLM.push_back(47);
332 PNsInLM.push_back(48);
334 PNsInLM.push_back(50);
335 PNsInLM.push_back(51);
336 PNsInLM.push_back(52);
337 PNsInLM.push_back(53);
342 std::ostringstream
s;
343 s <<
"Wrong LM id determination: iLM = " << ilm;
344 throw( std::runtime_error( s.str() ) );
355 if(
ism >= 1 &&
ism <= 9 ) iz = -1;
356 if(
ism >= 10 &&
ism <= 18 ) iz = +1;
361 if(
ism == 1 )
return 7;
362 if(
ism == 2 )
return 8;
363 if(
ism == 3 )
return 9;
364 if(
ism == 4 )
return 0;
365 if(
ism == 5 )
return 1;
366 if(
ism == 6 )
return 2;
367 if(
ism == 7 )
return 3;
372 if(
ism == 9 )
return 6;
375 if(
ism == 10 )
return 17;
376 if(
ism == 11 )
return 18;
377 if(
ism == 12 )
return 19;
378 if(
ism == 13 )
return 10;
379 if(
ism == 14 )
return 11;
380 if(
ism == 15 )
return 12;
381 if(
ism == 16 )
return 13;
383 if(ix<=50)
return 14;
386 if(
ism == 18 )
return 16;
390 std::ostringstream
s;
391 s <<
"Wrong LM id determination: iSM = " <<
ism <<
" ix = " << ix <<
" iy = " << iy;
392 throw( std::runtime_error( s.str() ) );
Some "id" conversions.
static int ipnEE(const int ism, const int ipnid)
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
static int iLM(const int ism, const int ix, const int iy)
static void getPNs(const int ism, const int ix, const int iy, std::vector< int > &PNsInLM)
int ism(int ieta, int iphi)