20 if(
ism >=1 &&
ism <= 18 ) {
24 if(
ism == 1 ) myFED = 0;
25 if(
ism == 2 ) myFED = 1;
26 if(
ism == 5 ) myFED = 2;
27 if(
ism == 6 ) myFED = 3;
28 if(
ism == 10 ) myFED = 4;
29 if(
ism == 11 ) myFED = 5;
30 if(
ism == 14 ) myFED = 6;
31 if(
ism == 15 ) myFED = 7;
33 return 10*myFED + (ipnid-1);
38 s <<
"Wrong SM id determination: iSM = " <<
ism;
39 throw( std::runtime_error( s.str() ) );
48 void NumbersPn::getPNs(
const int ism,
const int ix,
const int iy, std::vector<int>& PNsInLM )
throw( std::runtime_error ) {
55 PNsInLM.push_back(25);
56 PNsInLM.push_back(26);
57 PNsInLM.push_back(27);
58 PNsInLM.push_back(28);
60 PNsInLM.push_back(30);
61 PNsInLM.push_back(31);
62 PNsInLM.push_back(32);
63 PNsInLM.push_back(33);
68 PNsInLM.push_back(25);
69 PNsInLM.push_back(26);
70 PNsInLM.push_back(27);
71 PNsInLM.push_back(28);
73 PNsInLM.push_back(30);
74 PNsInLM.push_back(31);
75 PNsInLM.push_back(32);
76 PNsInLM.push_back(33);
81 PNsInLM.push_back(20);
82 PNsInLM.push_back(21);
84 PNsInLM.push_back(23);
85 PNsInLM.push_back(24);
87 PNsInLM.push_back(35);
88 PNsInLM.push_back(36);
89 PNsInLM.push_back(37);
90 PNsInLM.push_back(38);
91 PNsInLM.push_back(39);
96 PNsInLM.push_back(20);
97 PNsInLM.push_back(21);
99 PNsInLM.push_back(23);
100 PNsInLM.push_back(24);
102 PNsInLM.push_back(35);
103 PNsInLM.push_back(36);
104 PNsInLM.push_back(37);
105 PNsInLM.push_back(38);
106 PNsInLM.push_back(39);
111 PNsInLM.push_back(20);
112 PNsInLM.push_back(21);
114 PNsInLM.push_back(23);
115 PNsInLM.push_back(24);
117 PNsInLM.push_back(35);
118 PNsInLM.push_back(36);
119 PNsInLM.push_back(37);
120 PNsInLM.push_back(38);
121 PNsInLM.push_back(39);
126 PNsInLM.push_back(0);
127 PNsInLM.push_back(1);
128 PNsInLM.push_back(2);
129 PNsInLM.push_back(4);
132 PNsInLM.push_back(14);
133 PNsInLM.push_back(15);
134 PNsInLM.push_back(16);
135 PNsInLM.push_back(17);
136 PNsInLM.push_back(18);
141 PNsInLM.push_back(0);
142 PNsInLM.push_back(1);
143 PNsInLM.push_back(2);
144 PNsInLM.push_back(4);
147 PNsInLM.push_back(14);
148 PNsInLM.push_back(15);
149 PNsInLM.push_back(16);
150 PNsInLM.push_back(17);
151 PNsInLM.push_back(18);
156 PNsInLM.push_back(0);
157 PNsInLM.push_back(1);
158 PNsInLM.push_back(2);
159 PNsInLM.push_back(4);
161 PNsInLM.push_back(15);
162 PNsInLM.push_back(16);
163 PNsInLM.push_back(17);
164 PNsInLM.push_back(18);
169 PNsInLM.push_back(5);
170 PNsInLM.push_back(6);
171 PNsInLM.push_back(7);
172 PNsInLM.push_back(8);
174 PNsInLM.push_back(11);
175 PNsInLM.push_back(12);
180 PNsInLM.push_back(5);
181 PNsInLM.push_back(6);
182 PNsInLM.push_back(7);
183 PNsInLM.push_back(8);
185 PNsInLM.push_back(11);
186 PNsInLM.push_back(12);
191 PNsInLM.push_back(65);
192 PNsInLM.push_back(66);
193 PNsInLM.push_back(67);
194 PNsInLM.push_back(68);
196 PNsInLM.push_back(70);
197 PNsInLM.push_back(71);
198 PNsInLM.push_back(72);
199 PNsInLM.push_back(73);
204 PNsInLM.push_back(65);
205 PNsInLM.push_back(66);
206 PNsInLM.push_back(67);
207 PNsInLM.push_back(68);
209 PNsInLM.push_back(70);
210 PNsInLM.push_back(71);
211 PNsInLM.push_back(72);
212 PNsInLM.push_back(73);
217 PNsInLM.push_back(60);
218 PNsInLM.push_back(61);
219 PNsInLM.push_back(62);
220 PNsInLM.push_back(63);
221 PNsInLM.push_back(64);
223 PNsInLM.push_back(75);
224 PNsInLM.push_back(76);
225 PNsInLM.push_back(78);
226 PNsInLM.push_back(79);
231 PNsInLM.push_back(60);
232 PNsInLM.push_back(61);
233 PNsInLM.push_back(62);
234 PNsInLM.push_back(63);
235 PNsInLM.push_back(64);
236 PNsInLM.push_back(69);
238 PNsInLM.push_back(74);
239 PNsInLM.push_back(75);
240 PNsInLM.push_back(76);
241 PNsInLM.push_back(77);
242 PNsInLM.push_back(78);
243 PNsInLM.push_back(79);
248 PNsInLM.push_back(60);
249 PNsInLM.push_back(61);
250 PNsInLM.push_back(62);
251 PNsInLM.push_back(63);
252 PNsInLM.push_back(64);
253 PNsInLM.push_back(69);
255 PNsInLM.push_back(74);
256 PNsInLM.push_back(75);
257 PNsInLM.push_back(76);
258 PNsInLM.push_back(77);
259 PNsInLM.push_back(78);
260 PNsInLM.push_back(79);
265 PNsInLM.push_back(40);
266 PNsInLM.push_back(41);
267 PNsInLM.push_back(42);
268 PNsInLM.push_back(43);
269 PNsInLM.push_back(44);
270 PNsInLM.push_back(49);
272 PNsInLM.push_back(54);
273 PNsInLM.push_back(55);
274 PNsInLM.push_back(56);
275 PNsInLM.push_back(57);
276 PNsInLM.push_back(58);
277 PNsInLM.push_back(59);
282 PNsInLM.push_back(40);
283 PNsInLM.push_back(41);
284 PNsInLM.push_back(42);
285 PNsInLM.push_back(43);
286 PNsInLM.push_back(44);
287 PNsInLM.push_back(49);
289 PNsInLM.push_back(54);
290 PNsInLM.push_back(55);
291 PNsInLM.push_back(56);
292 PNsInLM.push_back(57);
293 PNsInLM.push_back(58);
294 PNsInLM.push_back(59);
299 PNsInLM.push_back(40);
300 PNsInLM.push_back(41);
301 PNsInLM.push_back(42);
302 PNsInLM.push_back(43);
303 PNsInLM.push_back(44);
305 PNsInLM.push_back(55);
306 PNsInLM.push_back(56);
307 PNsInLM.push_back(58);
308 PNsInLM.push_back(59);
313 PNsInLM.push_back(45);
314 PNsInLM.push_back(46);
315 PNsInLM.push_back(47);
316 PNsInLM.push_back(48);
318 PNsInLM.push_back(50);
319 PNsInLM.push_back(51);
320 PNsInLM.push_back(52);
321 PNsInLM.push_back(53);
326 PNsInLM.push_back(45);
327 PNsInLM.push_back(46);
328 PNsInLM.push_back(47);
329 PNsInLM.push_back(48);
331 PNsInLM.push_back(50);
332 PNsInLM.push_back(51);
333 PNsInLM.push_back(52);
334 PNsInLM.push_back(53);
339 std::ostringstream
s;
340 s <<
"Wrong LM id determination: iLM = " << ilm;
341 throw( std::runtime_error( s.str() ) );
352 if(
ism >= 1 &&
ism <= 9 ) iz = -1;
353 if(
ism >= 10 &&
ism <= 18 ) iz = +1;
358 if(
ism == 1 )
return 7;
359 if(
ism == 2 )
return 8;
360 if(
ism == 3 )
return 9;
361 if(
ism == 4 )
return 0;
362 if(
ism == 5 )
return 1;
363 if(
ism == 6 )
return 2;
364 if(
ism == 7 )
return 3;
369 if(
ism == 9 )
return 6;
372 if(
ism == 10 )
return 17;
373 if(
ism == 11 )
return 18;
374 if(
ism == 12 )
return 19;
375 if(
ism == 13 )
return 10;
376 if(
ism == 14 )
return 11;
377 if(
ism == 15 )
return 12;
378 if(
ism == 16 )
return 13;
380 if(ix<=50)
return 14;
383 if(
ism == 18 )
return 16;
387 std::ostringstream
s;
388 s <<
"Wrong LM id determination: iSM = " <<
ism <<
" ix = " << ix <<
" iy = " << iy;
389 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)