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