24 <<
"ESDetId: Cannot create object. Indexes out of bounds \n"
25 <<
" strip = " << strip <<
" x = " << ixs <<
" y = " << iys <<
"\n"
26 <<
" plane = " << plane <<
" z = " << iz
27 <<
" hxy = " << (1==plane?
hxy1[ixs-1][iys-1]:
hxy2[ixs-1][iys-1])
34 (((plane-1)&0x1)<<18) |
66 0 ==
hxy1[ixs-1][iys-1] ) ||
68 0 ==
hxy2[ixs-1][iys-1] ) ) ) ;
87 const int ia ( 1 ==
zside() ? 2 : 1 ) ;
89 const int ix (
six() ) ;
90 const int iy (
siy() ) ;
91 const int ic ( 1 == ib ?
92 hxy1[ ix - 1 ][ iy - 1 ] :
93 hxy2[ ix - 1 ][ iy - 1 ] ) ;
94 const int id (
strip() ) ;
96 return ( ( ia - 1 )*
kLb +
107 const int id ( hi%
kLd + 1 ) ;
108 const int nd ( hi -
id + 1 ) ;
109 const int ic ( ( nd%
kLc )/
kLd + 1 ) ;
110 const int nc ( nd - ( ic - 1 )*
kLd ) ;
111 const int ib ( ( nc%
kLb )/kLc + 1 ) ;
112 const int nb ( nc - ( ib - 1 )*kLc ) ;
113 const int ia ( nb/kLb + 1 );
115 const int st (
id ) ;
116 const int pl ( ib ) ;
119 const int ic1 ( ic - 1 ) ;
130 const int iz ( 1 == ia ? -1 : 1 ) ;
132 return ESDetId( st, ix, iy, pl, iz ) ;
142 return s <<
"(ES z=" <<
id.zside()
143 <<
" plane " <<
id.plane()
157 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
161 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
162 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
163 7, 8, 9, 10, 11, 12, 0, 0, 0, 0,
164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
165 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
166 0, 0, 13, 14, 15, 16, 17, 18, 19, 20,
167 21, 22, 23, 24, 25, 26, 27, 28, 0, 0,
168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
169 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
170 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
171 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
172 50, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
173 { 0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
174 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
175 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
176 73, 74, 0, 0, 0, 0, 0, 0, 0, 0 } ,
177 { 0, 0, 0, 0, 0, 0, 0, 75, 76, 77,
178 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
179 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
180 98, 99, 100, 0, 0, 0, 0, 0, 0, 0 } ,
181 { 0, 0, 0, 0, 0, 0, 101, 102, 103, 104,
182 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
183 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
184 125, 126, 127, 128, 0, 0, 0, 0, 0, 0 } ,
185 { 0, 0, 0, 0, 129, 130, 131, 132, 133, 134,
186 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
187 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
188 155, 156, 157, 158, 159, 160, 0, 0, 0, 0 } ,
189 { 0, 0, 0, 0, 161, 162, 163, 164, 165, 166,
190 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
191 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
192 187, 188, 189, 190, 191, 192, 0, 0, 0, 0 } ,
193 { 0, 0, 0, 193, 194, 195, 196, 197, 198, 199,
194 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
195 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
196 220, 221, 222, 223, 224, 225, 226, 0, 0, 0 } ,
197 { 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
198 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
199 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
200 255, 256, 257, 258, 259, 260, 261, 262, 0, 0 } ,
201 { 0, 0, 263, 264, 265, 266, 267, 268, 269, 270,
202 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
203 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
204 291, 292, 293, 294, 295, 296, 297, 298, 0, 0 } ,
205 { 0, 0, 299, 300, 301, 302, 303, 304, 305, 306,
206 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
207 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
208 327, 328, 329, 330, 331, 332, 333, 334, 0, 0 } ,
209 { 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
210 344, 345, 346, 347, 348, 349, 350, 351, 0, 0,
211 0, 0, 352, 353, 354, 355, 356, 357, 358, 359,
212 360, 361, 362, 363, 364, 365, 366, 367, 368, 0 } ,
213 { 0, 369, 370, 371, 372, 373, 374, 375, 376, 377,
214 378, 379, 380, 381, 382, 383, 0, 0, 0, 0,
215 0, 0, 0, 0, 384, 385, 386, 387, 388, 389,
216 390, 391, 392, 393, 394, 395, 396, 397, 398, 0 } ,
217 { 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
218 409, 410, 411, 412, 413, 0, 0, 0, 0, 0,
219 0, 0, 0, 0, 0, 414, 415, 416, 417, 418,
220 419, 420, 421, 422, 423, 424, 425, 426, 427, 428 } ,
221 { 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
222 439, 440, 441, 442, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 0, 0, 443, 444, 445, 446,
224 447, 448, 449, 450, 451, 452, 453, 454, 455, 456 } ,
225 { 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
226 467, 468, 469, 470, 0, 0, 0, 0, 0, 0,
227 0, 0, 0, 0, 0, 0, 471, 472, 473, 474,
228 475, 476, 477, 478, 479, 480, 481, 482, 483, 484 } ,
229 { 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
230 495, 496, 497, 0, 0, 0, 0, 0, 0, 0,
231 0, 0, 0, 0, 0, 0, 0, 498, 499, 500,
232 501, 502, 503, 504, 505, 506, 507, 508, 509, 510 } ,
233 { 511, 512, 513, 514, 515, 516, 517, 518, 519, 520,
234 521, 522, 523, 0, 0, 0, 0, 0, 0, 0,
235 0, 0, 0, 0, 0, 0, 0, 524, 525, 526,
236 527, 528, 529, 530, 531, 532, 533, 534, 535, 536 } ,
237 { 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
238 547, 548, 549, 0, 0, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0, 0, 550, 551, 552,
240 553, 554, 555, 556, 557, 558, 559, 560, 561, 562 } ,
241 { 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
242 573, 574, 575, 0, 0, 0, 0, 0, 0, 0,
243 0, 0, 0, 0, 0, 0, 0, 576, 577, 578,
244 579, 580, 581, 582, 583, 584, 585, 586, 587, 588 } ,
245 { 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
246 599, 600, 601, 602, 0, 0, 0, 0, 0, 0,
247 0, 0, 0, 0, 0, 0, 603, 604, 605, 606,
248 607, 608, 609, 610, 611, 612, 613, 614, 615, 616 } ,
249 { 617, 618, 619, 620, 621, 622, 623, 624, 625, 626,
250 627, 628, 629, 630, 0, 0, 0, 0, 0, 0,
251 0, 0, 0, 0, 0, 0, 631, 632, 633, 634,
252 635, 636, 637, 638, 639, 640, 641, 642, 643, 644 } ,
253 { 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
254 655, 656, 657, 658, 659, 0, 0, 0, 0, 0,
255 0, 0, 0, 0, 0, 660, 661, 662, 663, 664,
256 665, 666, 667, 668, 669, 670, 671, 672, 673, 674 } ,
257 { 0, 675, 676, 677, 678, 679, 680, 681, 682, 683,
258 684, 685, 686, 687, 688, 689, 0, 0, 0, 0,
259 0, 0, 0, 0, 690, 691, 692, 693, 694, 695,
260 696, 697, 698, 699, 700, 701, 702, 703, 704, 0 } ,
261 { 0, 705, 706, 707, 708, 709, 710, 711, 712, 713,
262 714, 715, 716, 717, 718, 719, 720, 721, 0, 0,
263 0, 0, 722, 723, 724, 725, 726, 727, 728, 729,
264 730, 731, 732, 733, 734, 735, 736, 737, 738, 0 } ,
265 { 0, 0, 739, 740, 741, 742, 743, 744, 745, 746,
266 747, 748, 749, 750, 751, 752, 753, 754, 755, 756,
267 757, 758, 759, 760, 761, 762, 763, 764, 765, 766,
268 767, 768, 769, 770, 771, 772, 773, 774, 0, 0 } ,
269 { 0, 0, 775, 776, 777, 778, 779, 780, 781, 782,
270 783, 784, 785, 786, 787, 788, 789, 790, 791, 792,
271 793, 794, 795, 796, 797, 798, 799, 800, 801, 802,
272 803, 804, 805, 806, 807, 808, 809, 810, 0, 0 } ,
273 { 0, 0, 811, 812, 813, 814, 815, 816, 817, 818,
274 819, 820, 821, 822, 823, 824, 825, 826, 827, 828,
275 829, 830, 831, 832, 833, 834, 835, 836, 837, 838,
276 839, 840, 841, 842, 843, 844, 845, 846, 0, 0 } ,
277 { 0, 0, 0, 847, 848, 849, 850, 851, 852, 853,
278 854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
279 864, 865, 866, 867, 868, 869, 870, 871, 872, 873,
280 874, 875, 876, 877, 878, 879, 880, 0, 0, 0 } ,
281 { 0, 0, 0, 0, 881, 882, 883, 884, 885, 886,
282 887, 888, 889, 890, 891, 892, 893, 894, 895, 896,
283 897, 898, 899, 900, 901, 902, 903, 904, 905, 906,
284 907, 908, 909, 910, 911, 912, 0, 0, 0, 0 } ,
285 { 0, 0, 0, 0, 913, 914, 915, 916, 917, 918,
286 919, 920, 921, 922, 923, 924, 925, 926, 927, 928,
287 929, 930, 931, 932, 933, 934, 935, 936, 937, 938,
288 939, 940, 941, 942, 943, 944, 0, 0, 0, 0 } ,
289 { 0, 0, 0, 0, 0, 0, 945, 946, 947, 948,
290 949, 950, 951, 952, 953, 954, 955, 956, 957, 958,
291 959, 960, 961, 962, 963, 964, 965, 966, 967, 968,
292 969, 970, 971, 972, 0, 0, 0, 0, 0, 0 } ,
293 { 0, 0, 0, 0, 0, 0, 0, 973, 974, 975,
294 976, 977, 978, 979, 980, 981, 982, 983, 984, 985,
295 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
296 996, 997, 998, 0, 0, 0, 0, 0, 0, 0 } ,
297 { 0, 0, 0, 0, 0, 0, 0, 0, 999, 1000,
298 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
299 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020,
300 1021, 1022, 0, 0, 0, 0, 0, 0, 0, 0 } ,
301 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1023,
302 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033,
303 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043,
304 1044, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
305 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
306 0, 0, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052,
307 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 0, 0,
308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
309 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
310 0, 0, 0, 0, 1061, 1062, 1063, 1064, 1065, 1066,
311 1067, 1068, 1069, 1070, 1071, 1072, 0, 0, 0, 0,
312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
313 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
320 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
321 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
322 6, 7, 8, 9, 10, 0, 0, 0, 0, 0,
323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
324 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
325 0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
326 18, 19, 20, 21, 22, 23, 24, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
328 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
329 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
330 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
332 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,
333 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
334 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
335 66, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
336 { 0, 0, 0, 0, 0, 0, 0, 67, 68, 69,
337 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
338 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
339 90, 91, 92, 0, 0, 0, 0, 0, 0, 0 } ,
340 { 0, 0, 0, 0, 0, 0, 0, 93, 94, 95,
341 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
342 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
343 116, 117, 118, 0, 0, 0, 0, 0, 0, 0 } ,
344 { 0, 0, 0, 0, 0, 0, 119, 120, 121, 122,
345 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
346 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
347 143, 144, 145, 146, 0, 0, 0, 0, 0, 0 } ,
348 { 0, 0, 0, 0, 0, 147, 148, 149, 150, 151,
349 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
350 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
351 172, 173, 174, 175, 176, 0, 0, 0, 0, 0 } ,
352 { 0, 0, 0, 0, 177, 178, 179, 180, 181, 182,
353 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
354 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
355 203, 204, 205, 206, 207, 208, 0, 0, 0, 0 } ,
356 { 0, 0, 0, 209, 210, 211, 212, 213, 214, 215,
357 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
358 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
359 236, 237, 238, 239, 240, 241, 242, 0, 0, 0 } ,
360 { 0, 0, 0, 243, 244, 245, 246, 247, 248, 249,
361 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
362 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
363 270, 271, 272, 273, 274, 275, 276, 0, 0, 0 } ,
364 { 0, 0, 0, 277, 278, 279, 280, 281, 282, 283,
365 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
366 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
367 304, 305, 306, 307, 308, 309, 310, 0, 0, 0 } ,
368 { 0, 0, 311, 312, 313, 314, 315, 316, 317, 318,
369 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
370 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
371 339, 340, 341, 342, 343, 344, 345, 346, 0, 0 } ,
372 { 0, 0, 347, 348, 349, 350, 351, 352, 353, 354,
373 355, 356, 357, 358, 359, 360, 361, 362, 0, 0,
374 0, 0, 363, 364, 365, 366, 367, 368, 369, 370,
375 371, 372, 373, 374, 375, 376, 377, 378, 0, 0 } ,
376 { 0, 379, 380, 381, 382, 383, 384, 385, 386, 387,
377 388, 389, 390, 391, 392, 393, 0, 0, 0, 0,
378 0, 0, 0, 0, 394, 395, 396, 397, 398, 399,
379 400, 401, 402, 403, 404, 405, 406, 407, 408, 0 } ,
380 { 0, 409, 410, 411, 412, 413, 414, 415, 416, 417,
381 418, 419, 420, 421, 422, 0, 0, 0, 0, 0,
382 0, 0, 0, 0, 0, 423, 424, 425, 426, 427,
383 428, 429, 430, 431, 432, 433, 434, 435, 436, 0 } ,
384 { 0, 437, 438, 439, 440, 441, 442, 443, 444, 445,
385 446, 447, 448, 449, 0, 0, 0, 0, 0, 0,
386 0, 0, 0, 0, 0, 0, 450, 451, 452, 453,
387 454, 455, 456, 457, 458, 459, 460, 461, 462, 0 } ,
388 { 0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
389 472, 473, 474, 475, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 476, 477, 478, 479,
391 480, 481, 482, 483, 484, 485, 486, 487, 488, 0 } ,
392 { 0, 489, 490, 491, 492, 493, 494, 495, 496, 497,
393 498, 499, 500, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 501, 502, 503,
395 504, 505, 506, 507, 508, 509, 510, 511, 512, 0 } ,
396 { 0, 513, 514, 515, 516, 517, 518, 519, 520, 521,
397 522, 523, 524, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 0, 0, 0, 0, 525, 526, 527,
399 528, 529, 530, 531, 532, 533, 534, 535, 536, 0 } ,
400 { 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
401 546, 547, 548, 0, 0, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 549, 550, 551,
403 552, 553, 554, 555, 556, 557, 558, 559, 560, 0 } ,
404 { 0, 561, 562, 563, 564, 565, 566, 567, 568, 569,
405 570, 571, 572, 0, 0, 0, 0, 0, 0, 0,
406 0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
407 576, 577, 578, 579, 580, 581, 582, 583, 584, 0 } ,
408 { 0, 585, 586, 587, 588, 589, 590, 591, 592, 593,
409 594, 595, 596, 597, 0, 0, 0, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 598, 599, 600, 601,
411 602, 603, 604, 605, 606, 607, 608, 609, 610, 0 } ,
412 { 0, 611, 612, 613, 614, 615, 616, 617, 618, 619,
413 620, 621, 622, 623, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 624, 625, 626, 627,
415 628, 629, 630, 631, 632, 633, 634, 635, 636, 0 } ,
416 { 0, 637, 638, 639, 640, 641, 642, 643, 644, 645,
417 646, 647, 648, 649, 650, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
419 656, 657, 658, 659, 660, 661, 662, 663, 664, 0 } ,
420 { 0, 665, 666, 667, 668, 669, 670, 671, 672, 673,
421 674, 675, 676, 677, 678, 679, 0, 0, 0, 0,
422 0, 0, 0, 0, 680, 681, 682, 683, 684, 685,
423 686, 687, 688, 689, 690, 691, 692, 693, 694, 0 } ,
424 { 0, 0, 695, 696, 697, 698, 699, 700, 701, 702,
425 703, 704, 705, 706, 707, 708, 709, 710, 0, 0,
426 0, 0, 711, 712, 713, 714, 715, 716, 717, 718,
427 719, 720, 721, 722, 723, 724, 725, 726, 0, 0 } ,
428 { 0, 0, 727, 728, 729, 730, 731, 732, 733, 734,
429 735, 736, 737, 738, 739, 740, 741, 742, 743, 744,
430 745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
431 755, 756, 757, 758, 759, 760, 761, 762, 0, 0 } ,
432 { 0, 0, 0, 763, 764, 765, 766, 767, 768, 769,
433 770, 771, 772, 773, 774, 775, 776, 777, 778, 779,
434 780, 781, 782, 783, 784, 785, 786, 787, 788, 789,
435 790, 791, 792, 793, 794, 795, 796, 0, 0, 0 } ,
436 { 0, 0, 0, 797, 798, 799, 800, 801, 802, 803,
437 804, 805, 806, 807, 808, 809, 810, 811, 812, 813,
438 814, 815, 816, 817, 818, 819, 820, 821, 822, 823,
439 824, 825, 826, 827, 828, 829, 830, 0, 0, 0 } ,
440 { 0, 0, 0, 831, 832, 833, 834, 835, 836, 837,
441 838, 839, 840, 841, 842, 843, 844, 845, 846, 847,
442 848, 849, 850, 851, 852, 853, 854, 855, 856, 857,
443 858, 859, 860, 861, 862, 863, 864, 0, 0, 0 } ,
444 { 0, 0, 0, 0, 865, 866, 867, 868, 869, 870,
445 871, 872, 873, 874, 875, 876, 877, 878, 879, 880,
446 881, 882, 883, 884, 885, 886, 887, 888, 889, 890,
447 891, 892, 893, 894, 895, 896, 0, 0, 0, 0 } ,
448 { 0, 0, 0, 0, 0, 897, 898, 899, 900, 901,
449 902, 903, 904, 905, 906, 907, 908, 909, 910, 911,
450 912, 913, 914, 915, 916, 917, 918, 919, 920, 921,
451 922, 923, 924, 925, 926, 0, 0, 0, 0, 0 } ,
452 { 0, 0, 0, 0, 0, 0, 927, 928, 929, 930,
453 931, 932, 933, 934, 935, 936, 937, 938, 939, 940,
454 941, 942, 943, 944, 945, 946, 947, 948, 949, 950,
455 951, 952, 953, 954, 0, 0, 0, 0, 0, 0 } ,
456 { 0, 0, 0, 0, 0, 0, 0, 955, 956, 957,
457 958, 959, 960, 961, 962, 963, 964, 965, 966, 967,
458 968, 969, 970, 971, 972, 973, 974, 975, 976, 977,
459 978, 979, 980, 0, 0, 0, 0, 0, 0, 0 } ,
460 { 0, 0, 0, 0, 0, 0, 0, 981, 982, 983,
461 984, 985, 986, 987, 988, 989, 990, 991, 992, 993,
462 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003,
463 1004, 1005, 1006, 0, 0, 0, 0, 0, 0, 0 } ,
464 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1007,
465 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
466 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027,
467 1028, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
468 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
469 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038,
470 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048,
471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
472 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 1049, 1050, 1051, 1052, 1053, 1054, 1055,
474 1056, 1057, 1058, 1059, 1060, 1061, 1062, 0, 0, 0,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ,
476 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
477 0, 0, 0, 0, 0, 1063, 1064, 1065, 1066, 1067,
478 1068, 1069, 1070, 1071, 1072, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
483 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
484 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
485 3, 3, 3, 3, 3, 3, 3, 3, 4, 4,
486 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
487 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
488 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
489 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
490 5, 5, 5, 5, 6, 6, 6, 6, 6, 6,
491 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
492 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
493 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
494 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
495 7, 7, 7, 7, 7, 7, 7, 7, 8, 8,
496 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
497 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
498 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
499 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
500 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
501 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
502 9, 9, 10, 10, 10, 10, 10, 10, 10, 10,
503 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
504 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
505 10, 10, 10, 10, 10, 10, 11, 11, 11, 11,
506 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
507 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
508 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
509 11, 11, 12, 12, 12, 12, 12, 12, 12, 12,
510 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
511 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
512 12, 12, 12, 12, 12, 12, 12, 12, 13, 13,
513 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
514 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
515 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
516 13, 13, 13, 13, 14, 14, 14, 14, 14, 14,
517 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
518 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
519 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
520 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
521 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
522 15, 15, 15, 15, 15, 15, 15, 15, 16, 16,
523 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
524 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
525 16, 16, 16, 16, 16, 16, 16, 16, 17, 17,
526 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
527 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
528 17, 17, 17, 17, 17, 17, 18, 18, 18, 18,
529 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
530 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
531 18, 18, 18, 18, 19, 19, 19, 19, 19, 19,
532 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
533 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
534 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
535 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
536 20, 20, 20, 20, 20, 20, 21, 21, 21, 21,
537 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
538 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
539 21, 21, 22, 22, 22, 22, 22, 22, 22, 22,
540 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
541 22, 22, 22, 22, 22, 22, 22, 22, 23, 23,
542 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
543 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
544 23, 23, 23, 23, 23, 23, 24, 24, 24, 24,
545 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
546 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
547 24, 24, 24, 24, 25, 25, 25, 25, 25, 25,
548 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
549 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
550 25, 25, 25, 25, 26, 26, 26, 26, 26, 26,
551 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
552 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
553 26, 26, 26, 26, 27, 27, 27, 27, 27, 27,
554 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
555 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
556 27, 27, 27, 27, 27, 27, 27, 27, 28, 28,
557 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
558 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
559 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
560 28, 28, 28, 28, 29, 29, 29, 29, 29, 29,
561 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
562 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
563 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
564 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
565 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
566 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
567 30, 30, 30, 30, 30, 30, 31, 31, 31, 31,
568 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
569 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
570 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
571 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
572 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
573 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
574 32, 32, 33, 33, 33, 33, 33, 33, 33, 33,
575 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
576 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
577 33, 33, 33, 33, 34, 34, 34, 34, 34, 34,
578 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
579 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
580 34, 34, 35, 35, 35, 35, 35, 35, 35, 35,
581 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
582 35, 35, 35, 35, 35, 35, 35, 35, 36, 36,
583 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
584 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
585 36, 36, 37, 37, 37, 37, 37, 37, 37, 37,
586 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
587 37, 37, 37, 37, 38, 38, 38, 38, 38, 38,
588 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
589 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
594 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
595 25, 26, 13, 14, 15, 16, 17, 18, 19, 20,
596 21, 22, 23, 24, 25, 26, 27, 28, 10, 11,
597 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
598 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
599 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
600 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
601 29, 30, 31, 32, 8, 9, 10, 11, 12, 13,
602 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
603 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
604 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
605 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
606 27, 28, 29, 30, 31, 32, 33, 34, 5, 6,
607 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
608 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
609 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
610 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
611 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
612 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
613 35, 36, 4, 5, 6, 7, 8, 9, 10, 11,
614 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
615 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
616 32, 33, 34, 35, 36, 37, 3, 4, 5, 6,
617 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
618 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
619 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
620 37, 38, 3, 4, 5, 6, 7, 8, 9, 10,
621 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
622 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
623 31, 32, 33, 34, 35, 36, 37, 38, 3, 4,
624 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
625 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
626 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
627 35, 36, 37, 38, 2, 3, 4, 5, 6, 7,
628 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
629 18, 23, 24, 25, 26, 27, 28, 29, 30, 31,
630 32, 33, 34, 35, 36, 37, 38, 39, 2, 3,
631 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
632 14, 15, 16, 25, 26, 27, 28, 29, 30, 31,
633 32, 33, 34, 35, 36, 37, 38, 39, 1, 2,
634 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
635 13, 14, 15, 26, 27, 28, 29, 30, 31, 32,
636 33, 34, 35, 36, 37, 38, 39, 40, 1, 2,
637 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
638 13, 14, 27, 28, 29, 30, 31, 32, 33, 34,
639 35, 36, 37, 38, 39, 40, 1, 2, 3, 4,
640 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
641 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
642 37, 38, 39, 40, 1, 2, 3, 4, 5, 6,
643 7, 8, 9, 10, 11, 12, 13, 28, 29, 30,
644 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
645 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
646 11, 12, 13, 28, 29, 30, 31, 32, 33, 34,
647 35, 36, 37, 38, 39, 40, 1, 2, 3, 4,
648 5, 6, 7, 8, 9, 10, 11, 12, 13, 28,
649 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
650 39, 40, 1, 2, 3, 4, 5, 6, 7, 8,
651 9, 10, 11, 12, 13, 28, 29, 30, 31, 32,
652 33, 34, 35, 36, 37, 38, 39, 40, 1, 2,
653 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
654 13, 14, 27, 28, 29, 30, 31, 32, 33, 34,
655 35, 36, 37, 38, 39, 40, 1, 2, 3, 4,
656 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
657 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
658 37, 38, 39, 40, 1, 2, 3, 4, 5, 6,
659 7, 8, 9, 10, 11, 12, 13, 14, 15, 26,
660 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
661 37, 38, 39, 40, 2, 3, 4, 5, 6, 7,
662 8, 9, 10, 11, 12, 13, 14, 15, 16, 25,
663 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
664 36, 37, 38, 39, 2, 3, 4, 5, 6, 7,
665 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
666 18, 23, 24, 25, 26, 27, 28, 29, 30, 31,
667 32, 33, 34, 35, 36, 37, 38, 39, 3, 4,
668 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
669 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
670 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
671 35, 36, 37, 38, 3, 4, 5, 6, 7, 8,
672 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
673 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
674 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
675 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
676 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
677 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
678 33, 34, 35, 36, 37, 38, 4, 5, 6, 7,
679 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
680 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
681 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
682 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
683 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
684 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
685 35, 36, 5, 6, 7, 8, 9, 10, 11, 12,
686 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
687 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
688 33, 34, 35, 36, 7, 8, 9, 10, 11, 12,
689 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
690 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
691 33, 34, 8, 9, 10, 11, 12, 13, 14, 15,
692 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
693 26, 27, 28, 29, 30, 31, 32, 33, 9, 10,
694 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
695 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
696 31, 32, 10, 11, 12, 13, 14, 15, 16, 17,
697 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
698 28, 29, 30, 31, 13, 14, 15, 16, 17, 18,
699 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
700 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
706 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
707 2, 2, 2, 2, 3, 3, 3, 3, 3, 3,
708 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
709 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,
710 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
711 4, 4, 4, 4, 4, 4, 5, 5, 5, 5,
712 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
713 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
714 5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
715 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
716 6, 6, 6, 6, 6, 6, 6, 6, 7, 7,
717 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
718 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
719 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,
720 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
721 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
722 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,
723 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
724 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
725 9, 9, 9, 9, 9, 9, 9, 9, 10, 10,
726 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
727 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
728 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
729 10, 10, 11, 11, 11, 11, 11, 11, 11, 11,
730 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
731 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
732 11, 11, 11, 11, 11, 11, 12, 12, 12, 12,
733 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
734 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
735 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
736 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
737 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
738 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
739 13, 13, 13, 13, 13, 13, 14, 14, 14, 14,
740 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
741 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
742 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
743 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
744 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
745 15, 15, 15, 15, 15, 15, 15, 15, 16, 16,
746 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
747 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
748 16, 16, 16, 16, 16, 16, 17, 17, 17, 17,
749 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
750 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
751 17, 17, 18, 18, 18, 18, 18, 18, 18, 18,
752 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
753 18, 18, 18, 18, 18, 18, 18, 18, 19, 19,
754 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
755 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
756 19, 19, 20, 20, 20, 20, 20, 20, 20, 20,
757 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
758 20, 20, 20, 20, 20, 20, 21, 21, 21, 21,
759 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
760 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
761 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
762 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
763 22, 22, 22, 22, 23, 23, 23, 23, 23, 23,
764 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
765 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
766 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
767 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
768 24, 24, 24, 24, 24, 24, 25, 25, 25, 25,
769 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
770 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
771 25, 25, 25, 25, 26, 26, 26, 26, 26, 26,
772 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
773 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
774 26, 26, 26, 26, 27, 27, 27, 27, 27, 27,
775 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
776 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
777 27, 27, 27, 27, 27, 27, 28, 28, 28, 28,
778 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
779 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
780 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
781 28, 28, 29, 29, 29, 29, 29, 29, 29, 29,
782 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
783 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
784 29, 29, 29, 29, 29, 29, 30, 30, 30, 30,
785 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
786 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
787 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
788 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
789 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
790 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
791 31, 31, 31, 31, 32, 32, 32, 32, 32, 32,
792 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
793 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
794 32, 32, 32, 32, 32, 32, 33, 33, 33, 33,
795 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
796 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
797 33, 33, 33, 33, 33, 33, 34, 34, 34, 34,
798 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
799 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
800 34, 34, 34, 34, 35, 35, 35, 35, 35, 35,
801 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
802 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
803 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
804 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
805 36, 36, 36, 36, 36, 36, 37, 37, 37, 37,
806 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
807 37, 37, 37, 37, 37, 37, 37, 37, 38, 38,
808 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
809 38, 38, 38, 38, 38, 38, 38, 38, 39, 39,
810 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
811 39, 39, 40, 40, 40, 40, 40, 40, 40, 40,
816 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
817 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
818 24, 25, 26, 27, 11, 12, 13, 14, 15, 16,
819 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
820 27, 28, 29, 30, 10, 11, 12, 13, 14, 15,
821 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
822 26, 27, 28, 29, 30, 31, 8, 9, 10, 11,
823 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
824 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
825 32, 33, 8, 9, 10, 11, 12, 13, 14, 15,
826 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
827 26, 27, 28, 29, 30, 31, 32, 33, 7, 8,
828 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
829 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
830 29, 30, 31, 32, 33, 34, 6, 7, 8, 9,
831 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
832 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
833 30, 31, 32, 33, 34, 35, 5, 6, 7, 8,
834 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
835 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
836 29, 30, 31, 32, 33, 34, 35, 36, 4, 5,
837 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
838 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
839 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
840 36, 37, 4, 5, 6, 7, 8, 9, 10, 11,
841 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
842 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
843 32, 33, 34, 35, 36, 37, 4, 5, 6, 7,
844 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
845 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
846 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
847 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
848 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
849 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
850 33, 34, 35, 36, 37, 38, 3, 4, 5, 6,
851 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
852 17, 18, 23, 24, 25, 26, 27, 28, 29, 30,
853 31, 32, 33, 34, 35, 36, 37, 38, 2, 3,
854 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
855 14, 15, 16, 25, 26, 27, 28, 29, 30, 31,
856 32, 33, 34, 35, 36, 37, 38, 39, 2, 3,
857 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
858 14, 15, 26, 27, 28, 29, 30, 31, 32, 33,
859 34, 35, 36, 37, 38, 39, 2, 3, 4, 5,
860 6, 7, 8, 9, 10, 11, 12, 13, 14, 27,
861 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
862 38, 39, 2, 3, 4, 5, 6, 7, 8, 9,
863 10, 11, 12, 13, 14, 27, 28, 29, 30, 31,
864 32, 33, 34, 35, 36, 37, 38, 39, 2, 3,
865 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
866 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
867 38, 39, 2, 3, 4, 5, 6, 7, 8, 9,
868 10, 11, 12, 13, 28, 29, 30, 31, 32, 33,
869 34, 35, 36, 37, 38, 39, 2, 3, 4, 5,
870 6, 7, 8, 9, 10, 11, 12, 13, 28, 29,
871 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
872 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
873 12, 13, 28, 29, 30, 31, 32, 33, 34, 35,
874 36, 37, 38, 39, 2, 3, 4, 5, 6, 7,
875 8, 9, 10, 11, 12, 13, 14, 27, 28, 29,
876 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
877 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
878 12, 13, 14, 27, 28, 29, 30, 31, 32, 33,
879 34, 35, 36, 37, 38, 39, 2, 3, 4, 5,
880 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
881 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
882 36, 37, 38, 39, 2, 3, 4, 5, 6, 7,
883 8, 9, 10, 11, 12, 13, 14, 15, 16, 25,
884 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
885 36, 37, 38, 39, 3, 4, 5, 6, 7, 8,
886 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
887 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
888 33, 34, 35, 36, 37, 38, 3, 4, 5, 6,
889 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
890 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
891 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
892 37, 38, 4, 5, 6, 7, 8, 9, 10, 11,
893 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
894 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
895 32, 33, 34, 35, 36, 37, 4, 5, 6, 7,
896 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
897 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
898 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
899 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
900 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
901 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
902 34, 35, 36, 37, 5, 6, 7, 8, 9, 10,
903 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
904 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
905 31, 32, 33, 34, 35, 36, 6, 7, 8, 9,
906 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
907 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
908 30, 31, 32, 33, 34, 35, 7, 8, 9, 10,
909 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
910 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
911 31, 32, 33, 34, 8, 9, 10, 11, 12, 13,
912 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
913 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
914 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
915 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
916 28, 29, 30, 31, 32, 33, 10, 11, 12, 13,
917 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
918 24, 25, 26, 27, 28, 29, 30, 31, 11, 12,
919 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
920 23, 24, 25, 26, 27, 28, 29, 30, 14, 15,
921 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
922 26, 27, 16, 17, 18, 19, 20, 21, 22, 23,
static const unsigned short hy2[kXYMAX]
static const unsigned short hxy2[kXMAX][kYMAX]
static const unsigned short hy1[kXYMAX]
static const int ISTRIP_MAX
std::ostream & operator<<(std::ostream &out, const ALILine &li)
ESDetId & operator=(const DetId &id)
static const int PLANE_MIN
uint32_t rawId() const
get the raw id
static const int PLANE_MAX
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
static const unsigned short hxy1[kXMAX][kYMAX]
static const unsigned short hx2[kXYMAX]
static bool validDetId(int istrip, int ixs, int iys, int iplane, int iz)
check if a valid index combination
bool null() const
is this a null id ?
static ESDetId unhashIndex(int hi)
get a DetId from a compact index for arrays
Detector det() const
get the detector field from this detid
static const unsigned short hx1[kXYMAX]
static const int ISTRIP_MIN
static bool validHashIndex(int hi)
int hashedIndex() const
get a compact index for arrays [TODO: NEEDS WORK]