CMS 3D CMS Logo

HFFibreFiducial.cc
Go to the documentation of this file.
3 
4 #include "CLHEP/Units/GlobalPhysicalConstants.h"
5 #include "CLHEP/Units/GlobalSystemOfUnits.h"
6 
7 #include<iostream>
8 
9 //#define DebugLog
10 
11 int HFFibreFiducial::PMTNumber(const G4ThreeVector& pe_effect)
12 {
13  double xv = pe_effect.x(); // X in global system
14  double yv = pe_effect.y(); // Y in global system
15  double phi = atan2(yv, xv); // In global system
16  if (phi < 0.) phi+=CLHEP::pi; // Just for security
17  double dph = CLHEP::pi/18; // 10 deg = a half sector width
18  double sph = dph+dph; // 20 deg = a sector width
19  int nphi = phi/dph; // 10 deg sector #
20 #ifdef DebugLog
21  edm::LogInfo("HFShower") <<"HFFibreFiducial:***> P = " << pe_effect
22  << ", phi = " << phi/CLHEP::deg;
23 #endif
24  if (nphi > 35) nphi=35; // Just for security
25  double xl=0.; // local sector coordinates (left/right)
26  double yl=0.; // local sector coordinates (down/up)
27  int nwid=0; // CMS widget number (@@ not used now M.K.)
28  double phir= 0.; // phi for rotation to the sector system
29  if (nphi==0 || nphi==35)
30  {
31  yl=xv;
32  xl=yv;
33  nwid=6;
34  }
35  else if (nphi==17 || nphi==18)
36  {
37  yl=-xv;
38  xl=-yv;
39  nwid=15;
40  phir=CLHEP::pi; // nr=9 ?
41  }
42  else
43  {
44  int nr = (nphi+1)/2; // a sector # (@@ internal definition)
45  nwid = 6-nr;
46  if(nwid <= 0) nwid+=18; // @@ +z || -z M.K. to be improved
47  phir= sph*nr; // nontrivial phi for rotation to the sector system
48  double cosr= cos(phir);
49  double sinr= sin(phir);
50  yl= xv*cosr+yv*sinr;
51  xl= yv*cosr-xv*sinr;
52 #ifdef DebugLog
53  edm::LogInfo("HFShower") << "HFFibreFiducial: nr " << nr << " phi " << phir/CLHEP::deg;
54 #endif
55  }
56  if (yl < 0) yl =-yl;
57 #ifdef DebugLog
58  edm::LogInfo("HFShower") << "HFFibreFiducial: Global Point " << pe_effect
59  << " nphi " << nphi << " Local Sector Coordinates ("
60  << xl << ", " << yl << "), widget # " << nwid;
61 #endif
62  // Provides a PMT # for the (x,y) hit in the widget # nwid (M. Kosov, 11.2010)
63  // Send comments/questions to Mikhail.Kossov@cern.ch
64  // nwid = 1-18 for Forward HF, 19-36 for Backward HF (all equal now)
65  // npmt = 0 for No Hit, 1-24 for H(Long) PMT, 25-48 for E(Short) PMT, negative for souces
66 
67  static const int nWidM=36;
68  if (nwid > nWidM || nwid <= 0)
69  {
70 #ifdef DebugLog
71  edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
72  << nwid << " == wrong widget number";
73 #endif
74  return 0;
75  }
76  static const double yMin= 13.1*CLHEP::cm; // start of the active area (Conv to mm?)
77  static const double yMax=129.6*CLHEP::cm; // finish of the active area (Conv to mm?)
78  if( yl < yMin || yl >= yMax )
79  {
80 #ifdef DebugLog
81  edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: Point "
82  << "with y = " << yl << " outside acceptance ["
83  << yMin << ":" << yMax << "], X = " << xv
84  << ", Y = " << yv << ", x = " << xl << ", nW = "
85  << nwid << ", phi = " << phi/CLHEP::deg
86  << ", phir = " << phir/CLHEP::deg;
87 #endif
88  return 0; // ===> out of the acceptance
89  }
90  bool left=true; // flag of the left part of the widget
91  double r=xl/yl; // for the widget acceptance check
92  if (r < 0)
93  {
94  r=-r;
95  left=false;
96  }
97  static const double tg10=.17632698070847; // phi-angular acceptance of the widget
98  if (r > tg10)
99  {
100 #ifdef DebugLog
101  edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: (x = "
102  << xl << ", y = " << yl << ", tg = " << r
103  << ") out of the widget acceptance tg(10) " << tg10;
104 #endif
105  return 0;
106  }
107 
108  static const int nLay=233; // a # of the sensetive layers in the widget
109  static const int nL001=4;
110  static const int nL002=4;
111  static const int nL003=5;
112  static const int nL004=5;
113  static const int nL005=5; // (5)
114  static const int nL006=5;
115  static const int nL007=5;
116  static const int nL008=6;
117  static const int nL009=6;
118  static const int nL010=6; // (6)
119  static const int nL011=6;
120  static const int nL012=6;
121  static const int nL013=6;
122  static const int nL014=7;
123  static const int nL015=7;
124  static const int nL016=7; // (6)
125  static const int nL017=7;
126  static const int nL018=7;
127  static const int nL019=7;
128  static const int nL020=8;
129  static const int nL021=8;
130  static const int nL022=8; // (5)
131  static const int nL023=8;
132  static const int nL024=8;
133  static const int nL025=9;
134  static const int nL026=9;
135  static const int nL027=9; // (6)
136  static const int nL028=9;
137  static const int nL029=9;
138  static const int nL030=9;
139  static const int nL031=10;
140  static const int nL032=10;
141  static const int nL033=10; // (6)
142  static const int nL034=10;
143  static const int nL035=10;
144  static const int nL036=10;
145  static const int nL037=11;
146  static const int nL038=11; // (5)
147  static const int nL039=11;
148  static const int nL040=11;
149  static const int nL041=11;
150  static const int nL042=12;
151  static const int nL043=12;
152  static const int nL044=12;
153  static const int nL045=12; // (6)
154  static const int nL046=12;
155  static const int nL047=12;
156  static const int nL048=13;
157  static const int nL049=13;
158  static const int nL050=13; // (6)
159  static const int nL051=13;
160  static const int nL052=13;
161  static const int nL053=13;
162  static const int nL054=14;
163  static const int nL055=14;
164  static const int nL056=14; // (5)
165  static const int nL057=14;
166  static const int nL058=14;
167  static const int nL059=15;
168  static const int nL060=15;
169  static const int nL061=15; // (6)
170  static const int nL062=15;
171  static const int nL063=15;
172  static const int nL064=15;
173  static const int nL065=16;
174  static const int nL066=16;
175  static const int nL067=16; // (6)
176  static const int nL068=16;
177  static const int nL069=16;
178  static const int nL070=16;
179  static const int nL071=17;
180  static const int nL072=17;
181  static const int nL073=17; // (5)
182  static const int nL074=17;
183  static const int nL075=17;
184  static const int nL076=18;
185  static const int nL077=18;
186  static const int nL078=18; // (6)
187  static const int nL079=18;
188  static const int nL080=18;
189  static const int nL081=18;
190  static const int nL082=19;
191  static const int nL083=19; // (6)
192  static const int nL084=19;
193  static const int nL085=19;
194  static const int nL086=19;
195  static const int nL087=19;
196  static const int nL088=20;
197  static const int nL089=20;
198  static const int nL090=20; // (5)
199  static const int nL091=20;
200  static const int nL092=20;
201  static const int nL093=21;
202  static const int nL094=21;
203  static const int nL095=21; // (6)
204  static const int nL096=21;
205  static const int nL097=21;
206  static const int nL098=21;
207  static const int nL099=22;
208  static const int nL100=22;
209  static const int nL101=22; // (6)
210  static const int nL102=22;
211  static const int nL103=22;
212  static const int nL104=22;
213  static const int nL105=23;
214  static const int nL106=23;
215  static const int nL107=23; // (5)
216  static const int nL108=23;
217  static const int nL109=23;
218  static const int nL110=24;
219  static const int nL111=24;
220  static const int nL112=24; // (6)
221  static const int nL113=24;
222  static const int nL114=24;
223  static const int nL115=24;
224  static const int nL116=25;
225  static const int nL117=25;
226  static const int nL118=25; // (6)
227  static const int nL119=25;
228  static const int nL120=25;
229  static const int nL121=25;
230  static const int nL122=26;
231  static const int nL123=26;
232  static const int nL124=26; // (5)
233  static const int nL125=26;
234  static const int nL126=26;
235  static const int nL127=27;
236  static const int nL128=27;
237  static const int nL129=27; // (6)
238  static const int nL130=27;
239  static const int nL131=27;
240  static const int nL132=27;
241  static const int nL133=28;
242  static const int nL134=28;
243  static const int nL135=28; // (6)
244  static const int nL136=28;
245  static const int nL137=28;
246  static const int nL138=28;
247  static const int nL139=29;
248  static const int nL140=29;
249  static const int nL141=29; // (5)
250  static const int nL142=29;
251  static const int nL143=29;
252  static const int nL144=30;
253  static const int nL145=30;
254  static const int nL146=30; // (6)
255  static const int nL147=30;
256  static const int nL148=30;
257  static const int nL149=30;
258  static const int nL150=31;
259  static const int nL151=31;
260  static const int nL152=31; // (6)
261  static const int nL153=31;
262  static const int nL154=31;
263  static const int nL155=31;
264  static const int nL156=32;
265  static const int nL157=32; // (5)
266  static const int nL158=32;
267  static const int nL159=32;
268  static const int nL160=32;
269  static const int nL161=33;
270  static const int nL162=33; // (6)
271  static const int nL163=33;
272  static const int nL164=33;
273  static const int nL165=33;
274  static const int nL166=33;
275  static const int nL167=34;
276  static const int nL168=34;
277  static const int nL169=34; // (6)
278  static const int nL170=34;
279  static const int nL171=34;
280  static const int nL172=34;
281  static const int nL173=35;
282  static const int nL174=35;
283  static const int nL175=35; // (5)
284  static const int nL176=35;
285  static const int nL177=35;
286  static const int nL178=36;
287  static const int nL179=36;
288  static const int nL180=36; // (6)
289  static const int nL181=36;
290  static const int nL182=36;
291  static const int nL183=36;
292  static const int nL184=37;
293  static const int nL185=37;
294  static const int nL186=37; // (6)
295  static const int nL187=37;
296  static const int nL188=37;
297  static const int nL189=37;
298  static const int nL190=38;
299  static const int nL191=38;
300  static const int nL192=38; // (5)
301  static const int nL193=38;
302  static const int nL194=38;
303  static const int nL195=39;
304  static const int nL196=39;
305  static const int nL197=39;
306  static const int nL198=39; // (6)
307  static const int nL199=39;
308  static const int nL200=39;
309  static const int nL201=40;
310  static const int nL202=40;
311  static const int nL203=40; // (6)
312  static const int nL204=40;
313  static const int nL205=40;
314  static const int nL206=40;
315  static const int nL207=41;
316  static const int nL208=41;
317  static const int nL209=41; // (5)
318  static const int nL210=41;
319  static const int nL211=41;
320  static const int nL212=42;
321  static const int nL213=42;
322  static const int nL214=42;
323  static const int nL215=42; // (6)
324  static const int nL216=42;
325  static const int nL217=42;
326  static const int nL218=43;
327  static const int nL219=43;
328  static const int nL220=43; // (6)
329  static const int nL221=43;
330  static const int nL222=43;
331  static const int nL223=43;
332  static const int nL224=44;
333  static const int nL225=44;
334  static const int nL226=44; // (5)
335  static const int nL227=44;
336  static const int nL228=44;
337  static const int nL229=45;
338  static const int nL230=45;
339  static const int nL231=45; // (5+1=6)
340  static const int nL232=45;
341  static const int nL233=45;
342  //------------------------------------------------------------------------------------
343  // Mean numbers of fibers in the layer is used. In some widgets it's bigger ***
344  // (if the fiber passed throug the hole closer to the edge) and sometimes it ***
345  // is smaller (if in some holes of the layer fibers did not pass throug). ***
346  // The real presence of fibers in the holes is now unknown (not documented), ***
347  // but the narrow electron showers can be used for revealing of the missing ***
348  // or additional fibers in the widget, because the missing fibers reduce the ***
349  // response and additional fibers increas it. So the tables can be improved ***
350  // to be individual for widgets and the FXX/BXX sources-tables can be used. ***
351  // ********************** M.Kosov, Mikhail.Kosssov@cern.ch *********************
352  // NNI, NN=tower#(1-24), i=0: dead; i=1: E(L); i=2: H(S); i=3: ESource; i=4: HSource
353  static const int tR001[nL001]={132,131,132,131}; // Left Part of the widget (-phi)
354  static const int tR002[nL002]={131,132,131,132};
355  static const int tR003[nL003]={132,131,132,131,132};
356  static const int tR004[nL004]={133,132,131,132,131}; // (5)
357  static const int tR005[nL005]={132,131,132,131,132};
358  static const int tR006[nL006]={131,132,131,132,131};
359  static const int tR007[nL007]={132,131,132,131,132};
360  static const int tR008[nL008]={131,132,131,132,131,132}; // _______________________13_
361  static const int tR009[nL009]={122,121,122,121,122,121};
362  static const int tR010[nL010]={121,122,121,122,123,122}; // (6) (A)
363  static const int tR011[nL011]={122,121,122,121,122,121};
364  static const int tR012[nL012]={121,122,121,122,121,122};
365  static const int tR013[nL013]={122,121,122,121,122,121};
366  static const int tR014[nL014]={121,122,121,122,121,122,121}; //____________________12_
367  static const int tR015[nL015]={122,121,242,241,242,241,242}; // (6)
368  static const int tR016[nL016]={241,242,241,242,241,242,241};
369  static const int tR017[nL017]={242,241,242,241,242,241,242};
370  static const int tR018[nL018]={241,242,241,242,243,242,241};
371  static const int tR019[nL019]={242,241,242,241,242,241,242};
372  static const int tR020[nL020]={241,242,241,242,241,242,241,242};
373  static const int tR021[nL021]={242,241,242,241,242,241,242,241}; // (5)
374  static const int tR022[nL022]={241,242,241,242,241,242,241,242}; //________________24_
375  static const int tR023[nL023]={232,231,232,231,232,231,232,231};
376  static const int tR024[nL024]={231,232,231,232,231,232,231,232};
377  static const int tR025[nL025]={232,231,232,231,232,231,232,231,232};
378  static const int tR026[nL026]={231,232,231,232,233,232,231,232,231};
379  static const int tR027[nL027]={232,231,232,231,232,231,232,231,232}; // (6)
380  static const int tR028[nL028]={231,232,231,232,231,232,231,232,231};
381  static const int tR029[nL029]={232,231,232,231,232,231,232,231,232};
382  static const int tR030[nL030]={231,232,231,232,231,232,231,232,231};
383  static const int tR031[nL031]={232,231,232,231,232,231,232,231,232,231}; //________23_
384  static const int tR032[nL032]={231,232,231,222,221,222,221,222,221,222};
385  static const int tR033[nL033]={222,221,222,221,222,221,222,221,222,221}; // (6)
386  static const int tR034[nL034]={221,222,221,222,221,222,221,222,221,222};
387  static const int tR035[nL035]={222,221,222,221,222,221,222,221,222,221};
388  static const int tR036[nL036]={221,222,221,222,223,222,221,222,221,222};
389  static const int tR037[nL037]={222,221,222,221,222,221,222,221,222,221,222};
390  static const int tR038[nL038]={221,222,221,222,221,222,221,222,221,222,221};
391  static const int tR039[nL039]={222,221,222,221,222,221,222,221,222,221,222}; // (5)
392  static const int tR040[nL040]={221,222,221,222,221,222,221,222,221,222,221};//_____22_
393  static const int tR041[nL041]={212,211,212,211,212,211,212,211,212,211,212};
394  static const int tR042[nL042]={211,212,211,212,211,212,211,212,211,212,211,212};
395  static const int tR043[nL043]={212,211,212,211,212,211,212,211,212,211,212,211};
396  static const int tR044[nL044]={211,212,211,212,211,212,211,212,211,212,211,212};
397  static const int tR045[nL045]={212,211,212,211,212,211,212,211,212,211,212,211};//(6)
398  static const int tR046[nL046]={211,212,211,212,211,212,211,212,211,212,211,212};
399  static const int tR047[nL047]={212,211,212,211,212,211,212,211,212,211,212,211};
400  static const int tR048[nL048]={211,212,211,212,211,212,211,214,211,212,211,212,211};
401  static const int tR049[nL049]={212,211,212,211,212,211,212,211,212,211,212,211,212};
402  static const int tR050[nL050]={211,212,211,212,211,212,211,212,211,212,211,212,211};
403  static const int tR051[nL051]={212,211,212,211,212,211,212,211,212,211,212,211,212};//(6)
404  static const int tR052[nL052]={211,212,211,212,211,212,211,212,211,212,211,212,211};
405  static const int tR053[nL053]={212,211,212,211,212,211,212,211,212,211,212,211,212};
406  static const int tR054[nL054]={211,212,211,212,211,212,211,212,211,212,211,212,211,212};
407  static const int tR055[nL055]={212,211,212,211,212,211,212,211,212,211,212,211,212,211};
408  // _______________________________________________________________________________21_ (5)
409  static const int tR056[nL056]={211,212,211,202,201,202,201,202,201,202,201,202,201,202};
410  static const int tR057[nL057]={202,201,202,201,202,201,202,201,202,201,202,201,202,201};
411  static const int tR058[nL058]={201,202,201,202,201,202,201,202,201,202,201,202,201,202};
412  static const int tR059[nL059]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
413  202};
414  static const int tR060[nL060]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
415  201};
416  static const int tR061[nL061]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
417  202}; // (6)
418  static const int tR062[nL062]={201,202,201,202,201,202,201,204,201,202,201,202,201,202,
419  201};
420  static const int tR063[nL063]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
421  202};
422  static const int tR064[nL064]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
423  201};
424  static const int tR065[nL065]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
425  202,201};
426  static const int tR066[nL066]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
427  201,202}; // (6)
428  static const int tR067[nL067]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
429  202,201};
430  static const int tR068[nL068]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
431  201,202};
432  static const int tR069[nL069]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
433  202,201};
434  static const int tR070[nL070]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
435  201,202};
436  static const int tR071[nL071]={202,201,202,201,202,201,202,201,202,201,192,191,192,191,
437  192,191,192}; // ___________________________________20_
438  static const int tR072[nL072]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
439  191,192,191};
440  static const int tR073[nL073]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
441  192,191,192}; // (5)
442  static const int tR074[nL074]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
443  191,192,191};
444  static const int tR075[nL075]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
445  192,191,192};
446  static const int tR076[nL076]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
447  191,192,191,192};
448  static const int tR077[nL077]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
449  192,191,192,191};
450  static const int tR078[nL078]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
451  191,192,191,192}; // (6)
452  static const int tR079[nL079]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
453  192,191,192,191};
454  static const int tR080[nL080]={191,192,191,192,191,192,191,194,191,192,191,192,191,192,
455  191,192,191,192};
456  static const int tR081[nL081]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
457  192,191,192,191};
458  static const int tR082[nL082]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
459  191,192,191,192,191};
460  static const int tR083[nL083]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
461  192,191,192,191,192};
462  static const int tR084[nL084]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
463  191,192,191,192,191}; // (6)
464  static const int tR085[nL085]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
465  192,191,192,191,192};
466  static const int tR086[nL086]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
467  191,192,191,192,191};
468  static const int tR087[nL087]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
469  192,191,192,191,192};
470  static const int tR088[nL088]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
471  191,192,181,182,181,182}; // _______________________19_
472  // ------------------------------------------------------------------------------------
473  static const int tR089[nL089]={192,191,192,191,182,181,182,181,182,181,182,181,182,181,
474  182,181,182,181,182,181}; // (5)
475  static const int tR090[nL090]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
476  181,182,181,182,181,182};
477  static const int tR091[nL091]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
478  182,181,182,181,182,181};
479  static const int tR092[nL092]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
480  181,182,181,182,181,182};
481  static const int tR093[nL093]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
482  182,181,182,181,182,181,182};
483  static const int tR094[nL094]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
484  181,182,181,182,181,182,181};
485  static const int tR095[nL095]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
486  182,181,182,181,182,181,182}; // (6)
487  static const int tR096[nL096]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
488  181,182,181,182,181,182,181};
489  static const int tR097[nL097]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
490  182,181,182,181,182,181,182};
491  static const int tR098[nL098]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
492  181,182,181,182,181,182,181};
493  static const int tR099[nL099]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
494  182,181,182,181,182,181,182,181};
495  static const int tR100[nL100]={181,182,181,182,181,182,181,182,181,182,181,182,183,182,
496  181,182,181,182,181,182,181,182}; // (6)
497  static const int tR101[nL101]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
498  182,181,182,181,182,181,182,181};
499  static const int tR102[nL102]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
500  181,182,181,182,181,182,181,182};
501  static const int tR103[nL103]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
502  182,181,182,181,182,181,182,181};
503  static const int tR104[nL104]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
504  181,182,181,182,181,182,181,182};
505  static const int tR105[nL105]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
506  182,181,182,181,182,181,182,181,182};
507  static const int tR106[nL106]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
508  181,182,181,182,181,182,181,182,181};
509  static const int tR107[nL107]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
510  182,181,182,181,182,181,182,181,182}; // (5)
511  static const int tR108[nL108]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
512  181,182,181,182,181,182,181,182,181};
513  static const int tR109[nL109]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
514  182,181,182,181,182,181,182,181,182};
515  static const int tR110[nL110]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
516  181,182,181,182,181,182,181,182,181,182};
517  static const int tR111[nL111]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
518  182,181,182,171,172,171,172,171,172,171}; // _________4_
519  static const int tR112[nL112]={181,182,181,182,171,172,171,172,171,172,171,172,171,172,
520  171,172,171,172,171,172,171,172,171,172}; // (6)
521  static const int tR113[nL113]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
522  172,171,172,171,172,171,172,171,172,171};
523  static const int tR114[nL114]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
524  171,172,171,172,171,172,171,172,171,172};
525  static const int tR115[nL115]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
526  172,171,172,171,172,171,172,171,172,171};
527  static const int tR116[nL116]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
528  171,172,171,172,171,172,171,172,171,172,171};
529  static const int tR117[nL117]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
530  172,171,172,171,172,171,172,171,172,171,172};
531  static const int tR118[nL118]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
532  171,172,171,172,171,172,171,172,171,172,171};
533  static const int tR119[nL119]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
534  172,171,172,171,172,171,172,171,172,171,172}; // (6)
535  static const int tR120[nL120]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
536  171,172,171,172,171,172,171,172,171,172,171};
537  static const int tR121[nL121]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
538  172,171,172,171,172,171,172,171,172,171,172};
539  static const int tR122[nL122]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
540  171,172,171,172,171,172,171,172,171,172,171,172};
541  static const int tR123[nL123]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
542  172,171,172,171,172,171,172,171,172,171,172,171};
543  static const int tR124[nL124]={171,172,171,172,171,172,171,172,171,172,171,172,173,172,
544  171,172,171,172,171,172,171,172,171,172,171,172};// (5)
545  static const int tR125[nL125]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
546  172,171,172,171,172,171,172,171,172,171,172,171};
547  static const int tR126[nL126]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
548  171,172,171,172,171,172,171,172,171,172,171,172};
549  static const int tR127[nL127]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
550  172,171,172,171,172,171,172,171,172,171,172,171,172};
551  static const int tR128[nL128]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
552  171,172,171,172,171,172,171,172,171,172,171,172,171};
553  static const int tR129[nL129]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
554  172,171,172,171,172,171,172,171,172,171,172,171,172};
555  static const int tR130[nL130]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
556  171,172,171,172,171,172,171,172,171,172,171,172,171};//(6)
557  static const int tR131[nL131]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
558  172,171,172,171,172,171,172,171,172,171,172,171,172};
559  static const int tR132[nL132]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
560  171,172,171,172,171,172,171,172,171,172,171,172,171};
561  static const int tR133[nL133]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
562  172,171,172,171,172,171,172,171,172,171,172,171,172,171};
563  static const int tR134[nL134]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
564  171,172,171,172,171,172,171,172,171,172,171,172,171,172};
565  static const int tR135[nL135]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
566  172,171,172,171,172,171,172,171,172,171,172,171,172,171};
567  static const int tR136[nL136]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
568  171,172,171,172,171,172,171,172,171,172,171,172,171,172};
569  static const int tR137[nL137]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
570  172,171,172,171,172,171,172,171,162,161,162,161,162,161};
571  // ____________________________________________________________________________(6)___3_
572  static const int tR138[nL138]={171,172,171,172,171,172,171,172,171,172,171,172,161,162,
573  161,162,161,162,161,162,161,162,161,162,161,162,161,162};
574  static const int tR139[nL139]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
575  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
576  162};
577  static const int tR140[nL140]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
578  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
579  161};
580  static const int tR141[nL141]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
581  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
582  162}; // (5)
583  static const int tR142[nL142]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
584  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
585  161};
586  static const int tR143[nL143]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
587  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
588  162};
589  static const int tR144[nL144]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
590  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
591  161,162};
592  static const int tR145[nL145]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
593  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
594  162,161};
595  static const int tR146[nL146]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
596  161,162,163,162,161,162,161,162,161,162,161,162,161,162,
597  161,162};
598  static const int tR147[nL147]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
599  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
600  162,161}; // (6)
601  static const int tR148[nL148]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
602  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
603  161,162};
604  static const int tR149[nL149]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
605  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
606  162,161};
607  static const int tR150[nL150]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
608  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
609  161,162,161};
610  static const int tR151[nL151]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
611  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
612  162,161,162};
613  static const int tR152[nL152]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
614  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
615  161,162,161}; // (6)
616  static const int tR153[nL153]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
617  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
618  162,161,162};
619  static const int tR154[nL154]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
620  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
621  161,162,161};
622  static const int tR155[nL155]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
623  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
624  162,161,162};
625  static const int tR156[nL156]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
626  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
627  161,162,161,162};
628  static const int tR157[nL157]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
629  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
630  162,161,162,161};
631  static const int tR158[nL158]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
632  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
633  161,162,161,162}; // (5)
634  static const int tR159[nL159]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
635  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
636  162,161,162,161};
637  static const int tR160[nL160]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
638  161,162,163,162,161,162,161,162,161,162,161,162,161,162,
639  161,162,161,162};
640  static const int tR161[nL161]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
641  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
642  162,161,162,161,162};
643  static const int tR162[nL162]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
644  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
645  161,162,161,162,161};
646  static const int tR163[nL163]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
647  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
648  162,161,162,161,162}; // (6)
649  static const int tR164[nL164]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
650  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
651  161,162,161,162,161};
652  static const int tR165[nL165]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
653  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
654  162,161,162,161,162};
655  static const int tR166[nL166]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
656  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
657  161,162,161,162,161};
658  static const int tR167[nL167]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
659  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
660  162,161,162,161,162,161};
661  static const int tR168[nL168]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
662  161,162,161,162,161,162,161,162,161,162,161,162,161,152,
663  151,152,151,152,151,152}; // _________________________2_
664  static const int tR169[nL169]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
665  162,161,162,161,152,151,152,151,152,151,152,151,152,151,
666  152,151,152,151,152,151}; // (6)
667  static const int tR170[nL170]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
668  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
669  151,152,151,152,151,152};
670  static const int tR171[nL171]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
671  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
672  152,151,152,151,152,151};
673  static const int tR172[nL172]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
674  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
675  151,152,151,152,151,152};
676  static const int tR173[nL173]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
677  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
678  152,151,152,151,152,151,152};
679  static const int tR174[nL174]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
680  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
681  151,152,151,152,151,152,151};
682  static const int tR175[nL175]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
683  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
684  152,151,152,151,152,151,152}; // (5)
685  static const int tR176[nL176]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
686  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
687  151,152,151,152,151,152,151};
688  static const int tR177[nL177]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
689  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
690  152,151,152,151,152,151,152};
691  static const int tR178[nL178]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
692  151,152,153,152,151,152,151,152,151,152,151,152,151,152,
693  151,152,151,152,151,152,151,152};
694  static const int tR179[nL179]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
695  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
696  152,151,152,151,152,151,152,151};
697  static const int tR180[nL180]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
698  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
699  151,152,151,152,151,152,151,152}; // (6)
700  static const int tR181[nL181]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
701  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
702  152,151,152,151,152,151,152,151};
703  static const int tR182[nL182]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
704  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
705  151,152,151,152,151,152,151,152};
706  static const int tR183[nL183]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
707  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
708  152,151,152,151,152,151,152,151};
709  static const int tR184[nL184]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
710  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
711  151,152,151,152,151,152,151,152,151};
712  static const int tR185[nL185]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
713  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
714  152,151,152,151,152,151,152,151,152};
715  static const int tR186[nL186]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
716  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
717  151,152,151,152,151,152,151,152,151};
718  static const int tR187[nL187]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
719  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
720  152,151,152,151,152,151,152,151,152}; // (6)
721  static const int tR188[nL188]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
722  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
723  151,152,151,152,151,152,151,152,151};
724  static const int tR189[nL189]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
725  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
726  152,151,152,151,152,151,152,151,152};
727  static const int tR190[nL190]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
728  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
729  151,152,151,152,151,152,151,152,151,152};
730  static const int tR191[nL191]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
731  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
732  152,151,152,151,152,151,152,151,152,151};
733  static const int tR192[nL192]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
734  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
735  151,152,151,152,151,152,151,152,151,152}; // (5)
736  static const int tR193[nL193]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
737  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
738  152,151,152,151,152,151,152,151,152,151};
739  static const int tR194[nL194]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
740  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
741  151,152,151,152,151,152,151,152,151,152};
742  static const int tR195[nL195]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
743  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
744  152,151,152,151,152,151,152,151,152,151,152};
745  static const int tR196[nL196]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
746  151,152,151,152,151,152,153,152,151,152,151,152,151,152,
747  151,152,151,152,151,152,151,152,151,152,151};
748  static const int tR197[nL197]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
749  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
750  152,151,152,151,152,151,152,151,152,151,152}; // (6)
751  static const int tR198[nL198]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
752  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
753  151,152,151,152,151,152,151,152,151,152,151};
754  static const int tR199[nL199]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
755  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
756  152,151,152,151,152,151,152,151,152,151,152};
757  static const int tR200[nL200]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
758  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
759  151,152,151,152,151,152,151,152,151,152,151};
760  static const int tR201[nL201]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
761  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
762  152,151,152,151,152,151,152,151,152,151,152,151};
763  static const int tR202[nL202]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
764  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
765  151,152,151,152,151,152,151,152,151,152,151,152};
766  static const int tR203[nL203]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
767  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
768  152,151,152,151,152,151,152,151,152,151,152,151}; //(6)
769  static const int tR204[nL204]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
770  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
771  151,152,151,152,151,152,151,152,151,152,151,152};
772  static const int tR205[nL205]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
773  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
774  152,151,152,151,142,141,142,141,142,141,142,141};
775  static const int tR206[nL206]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
776  151,152,151,152,151,152,151,152,151,152,141,142,141,142,
777  141,142,141,142,141,142,141,142,141,142,141,142};//__1_
778  static const int tR207[nL207]={152,151,152,151,152,151,152,151,152,151,152,141,142,141,
779  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
780  142,141,142,141,142,141,142,141,142,141,142,141,142};
781  static const int tR208[nL208]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
782  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
783  141,142,141,142,141,142,141,142,141,142,141,142,141};
784  static const int tR209[nL209]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
785  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
786  142,141,142,141,142,141,142,141,142,141,142,141,142};//(5)
787  static const int tR210[nL210]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
788  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
789  141,142,141,142,141,142,141,142,141,142,141,142,141};
790  static const int tR211[nL211]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
791  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
792  142,141,142,141,142,141,142,141,142,141,142,141,142};
793  static const int tR212[nL212]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
794  141,142,141,142,141,142,143,142,141,142,141,142,141,142,
795  141,142,141,142,141,142,141,142,141,142,141,142,141,142};
796  static const int tR213[nL213]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
797  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
798  142,141,142,141,142,141,142,141,142,141,142,141,142,141};
799  static const int tR214[nL214]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
800  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
801  141,142,141,142,141,142,141,142,141,142,141,142,141,142};
802  static const int tR215[nL215]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
803  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
804  142,141,142,141,142,141,142,141,142,141,142,141,142,141};
805  static const int tR216[nL216]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
806  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
807  141,142,141,142,141,142,141,142,141,142,141,142,141,142};
808  static const int tR217[nL217]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
809  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
810  142,141,142,141,142,141,142,141,142,141,142,141,142,141};
811  static const int tR218[nL218]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
812  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
813  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
814  141};
815  static const int tR219[nL219]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
816  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
817  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
818  142};
819  static const int tR220[nL220]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
820  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
821  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
822  141};
823  static const int tR221[nL221]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
824  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
825  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
826  142}; // (6)
827  static const int tR222[nL222]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
828  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
829  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
830  141};
831  static const int tR223[nL223]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
832  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
833  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
834  142};
835  static const int tR224[nL224]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
836  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
837  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
838  141,142};
839  static const int tR225[nL225]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
840  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
841  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
842  142,141};
843  static const int tR226[nL226]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
844  141,142,141,142,141,142,143,142,141,142,141,142,141,142,
845  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
846  141,142}; // (5)
847  static const int tR227[nL227]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
848  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
849  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
850  142,141};
851  static const int tR228[nL228]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
852  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
853  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
854  141,142};
855  static const int tR229[nL229]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
856  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
857  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
858  142,141,142};
859  static const int tR230[nL230]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
860  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
861  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
862  141,142,141};
863  static const int tR231[nL231]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
864  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
865  142,141,142,141,142,141,142,141,142,141,142, 0, 0, 0,
866  0, 0, 0}; // (5+1=6)
867  static const int tR232[nL232]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
868  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
869  141,142,141,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870  0, 0, 0};
871  static const int tR233[nL233]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
872  142,141,142,141,142,141,142,141, 0, 0, 0, 0, 0, 0,
873  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
874  0, 0, 0};
875  //------------------------------------------------------------------------------------
876  static const int tL001[nL001]={131,132,131,132}; // Left Part of the widget (-phi)
877  static const int tL002[nL002]={132,131,132,131};
878  static const int tL003[nL003]={131,132,131,132,131};
879  static const int tL004[nL004]={132,131,132,131,132}; // (5)
880  static const int tL005[nL005]={131,132,131,132,131};
881  static const int tL006[nL006]={132,131,132,131,132};
882  static const int tL007[nL007]={131,132,131,132,131};
883  static const int tL008[nL008]={132,131,132,131,132,131}; // ______________________13_
884  static const int tL009[nL009]={121,122,121,122,121,122};
885  static const int tL010[nL010]={122,121,122,121,124,121};
886  static const int tL011[nL011]={121,122,121,122,121,122}; // (6) (B)
887  static const int tL012[nL012]={122,121,122,121,122,121};
888  static const int tL013[nL013]={121,122,121,122,121,122};
889  static const int tL014[nL014]={122,121,122,121,122,121,122}; //___________________12_
890  static const int tL015[nL015]={121,122,111,112,111,112,111};
891  static const int tL016[nL016]={112,111,112,111,112,111,112};
892  static const int tL017[nL017]={111,112,111,112,111,112,111}; // (6)
893  static const int tL018[nL018]={112,111,112,111,114,111,112};
894  static const int tL019[nL019]={111,112,111,112,111,112,111};
895  static const int tL020[nL020]={112,111,112,111,112,111,112,111};
896  static const int tL021[nL021]={111,112,111,112,111,112,111,112}; // (5)
897  static const int tL022[nL022]={112,111,112,111,112,111,112,111}; //_______________11_
898  static const int tL023[nL023]={101,102,101,102,101,102,101,102};
899  static const int tL024[nL024]={102,101,102,101,102,101,102,101};
900  static const int tL025[nL025]={101,102,101,102,101,102,101,102,101};
901  static const int tL026[nL026]={102,101,102,101,104,101,102,101,102};
902  static const int tL027[nL027]={101,102,101,102,101,102,101,102,101}; // (6)
903  static const int tL028[nL028]={102,101,102,101,102,101,102,101,102};
904  static const int tL029[nL029]={101,102,101,102,101,102,101,102,101};
905  static const int tL030[nL030]={102,101,102,101,102,101,102,101,102};
906  static const int tL031[nL031]={101,102,101,102,101,102,101,102,101,102}; //_______10_
907  static const int tL032[nL032]={102,101,102, 91, 92, 91, 92, 91, 92, 91};
908  static const int tL033[nL033]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92}; // (6)
909  static const int tL034[nL034]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
910  static const int tL035[nL035]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
911  static const int tL036[nL036]={ 92, 91, 92, 91, 94, 91, 92, 91, 92, 91};
912  static const int tL037[nL037]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
913  static const int tL038[nL038]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
914  static const int tL039[nL039]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91}; // (5)
915  static const int tL040[nL040]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
916  static const int tL041[nL041]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
917  static const int tL042[nL042]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};//_9_
918  static const int tL043[nL043]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
919  static const int tL044[nL044]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
920  static const int tL045[nL045]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};//(6)
921  static const int tL046[nL046]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
922  static const int tL047[nL047]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
923  static const int tL048[nL048]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
924  static const int tL049[nL049]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
925  static const int tL050[nL050]={ 82, 81, 82, 81, 82, 81, 82, 81, 84, 81, 82, 81, 82};//(6)
926  static const int tL051[nL051]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
927  static const int tL052[nL052]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
928  static const int tL053[nL053]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
929  static const int tL054[nL054]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
930  static const int tL055[nL055]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
931  // ________________________________________________________________________________8_ (5)
932  static const int tL056[nL056]={ 82, 81, 82, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
933  static const int tL057[nL057]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
934  static const int tL058[nL058]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
935  static const int tL059[nL059]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
936  71};
937  static const int tL060[nL060]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
938  72};
939  static const int tL061[nL061]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
940  71}; // (6)
941  static const int tL062[nL062]={ 72, 71, 72, 71, 72, 71, 72, 71, 74, 71, 72, 71, 72, 71,
942  71};
943  static const int tL063[nL063]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
944  71};
945  static const int tL064[nL064]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
946  72};
947  static const int tL065[nL065]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
948  71, 72};
949  static const int tL066[nL066]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
950  72, 71}; // (6)
951  static const int tL067[nL067]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
952  71, 72};
953  static const int tL068[nL068]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
954  72, 71};
955  static const int tL069[nL069]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
956  71, 72};
957  static const int tL070[nL070]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
958  72, 71};
959  static const int tL071[nL071]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 61, 62, 61, 62,
960  61, 62, 61}; // _____________________________________7_
961  static const int tL072[nL072]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
962  62, 61, 62};
963  static const int tL073[nL073]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
964  61, 62, 61}; // (5)
965  static const int tL074[nL074]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
966  62, 61, 62};
967  static const int tL075[nL075]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
968  61, 62, 61};
969  static const int tL076[nL076]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
970  62, 61, 62, 61};
971  static const int tL077[nL077]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
972  61, 62, 61, 62};
973  static const int tL078[nL078]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
974  62, 61, 62, 61}; // (6)
975  static const int tL079[nL079]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
976  61, 62, 61, 62};
977  static const int tL080[nL080]={ 62, 61, 62, 61, 62, 61, 62, 61, 64, 61, 62, 61, 62, 61,
978  62, 61, 62, 61};
979  static const int tL081[nL081]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
980  61, 62, 61, 62};
981  static const int tL082[nL082]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
982  62, 61, 62, 61, 62};
983  static const int tL083[nL083]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
984  61, 62, 61, 62, 61}; // (6)
985  static const int tL084[nL084]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
986  62, 61, 62, 61, 62};
987  static const int tL085[nL085]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
988  61, 62, 61, 62, 61};
989  static const int tL086[nL086]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
990  62, 61, 62, 61, 62};
991  static const int tL087[nL087]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
992  61, 62, 61, 62, 61};
993  static const int tL088[nL088]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
994  62, 61, 52, 51, 52, 51}; // _________________________6_
995  //-------------------------------------------------------------------------------------
996  static const int tL089[nL089]={ 61, 62, 61, 62, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
997  51, 52, 51, 52, 51, 52}; // (5)
998  static const int tL090[nL090]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
999  52, 51, 52, 51, 52, 51};
1000  static const int tL091[nL091]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1001  51, 52, 51, 52, 51, 52};
1002  static const int tL092[nL092]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
1003  52, 51, 52, 51, 52, 51};
1004  static const int tL093[nL093]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1005  51, 52, 51, 52, 51, 52, 51};
1006  static const int tL094[nL094]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
1007  52, 51, 52, 51, 52, 51, 52};
1008  static const int tL095[nL095]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1009  51, 52, 51, 52, 51, 52, 51}; // (6)
1010  static const int tL096[nL096]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
1011  52, 51, 52, 51, 52, 51, 52};
1012  static const int tL097[nL097]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1013  51, 52, 51, 52, 51, 52, 51};
1014  static const int tL098[nL098]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
1015  52, 51, 52, 51, 52, 51, 52};
1016  static const int tL099[nL099]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1017  51, 52, 51, 52, 51, 52, 51, 52};
1018  static const int tL100[nL100]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 53, 52, 51,
1019  52, 51, 52, 51, 52, 51, 52, 51}; // (6)
1020  static const int tL101[nL101]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1021  51, 52, 51, 52, 51, 52, 51, 52};
1022  static const int tL102[nL102]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
1023  52, 51, 52, 51, 52, 51, 52, 51};
1024  static const int tL103[nL103]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1025  51, 52, 51, 52, 51, 52, 51, 52};
1026  static const int tL104[nL104]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
1027  52, 51, 52, 51, 52, 51, 52, 51};
1028  static const int tL105[nL105]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1029  51, 52, 51, 52, 51, 52, 51, 52, 51};
1030  static const int tL106[nL106]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
1031  52, 51, 52, 51, 52, 51, 52, 51, 52};
1032  static const int tL107[nL107]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1033  51, 52, 51, 52, 51, 52, 51, 52, 51}; // (5)
1034  static const int tL108[nL108]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
1035  52, 51, 52, 51, 52, 51, 52, 51, 52};
1036  static const int tL109[nL109]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1037  51, 52, 51, 52, 51, 52, 51, 52, 51};
1038  static const int tL110[nL110]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
1039  52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
1040  static const int tL111[nL111]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
1041  51, 52, 51, 42, 41, 42, 41, 42, 41, 42}; // _________4_
1042  static const int tL112[nL112]={ 52, 51, 52, 51, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1043  42, 41, 42, 41, 42, 41, 42, 41, 42, 41}; // (6)
1044  static const int tL113[nL113]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1045  41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1046  static const int tL114[nL114]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1047  42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1048  static const int tL115[nL115]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1049  41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1050  static const int tL116[nL116]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1051  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1052  static const int tL117[nL117]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1053  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1054  static const int tL118[nL118]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1055  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1056  static const int tL119[nL119]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1057  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41}; // (6)
1058  static const int tL120[nL120]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1059  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1060  static const int tL121[nL121]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1061  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1062  static const int tL122[nL122]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1063  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1064  static const int tL123[nL123]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1065  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1066  static const int tL124[nL124]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 43, 42, 41,
1067  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};// (5)
1068  static const int tL125[nL125]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1069  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1070  static const int tL126[nL126]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1071  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1072  static const int tL127[nL127]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1073  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1074  static const int tL128[nL128]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1075  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1076  static const int tL129[nL129]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1077  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1078  static const int tL130[nL130]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1079  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};//(6)
1080  static const int tL131[nL131]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1081  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1082  static const int tL132[nL132]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1083  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1084  static const int tL133[nL133]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1085  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1086  static const int tL134[nL134]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1087  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1088  static const int tL135[nL135]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1089  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
1090  static const int tL136[nL136]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
1091  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
1092  static const int tL137[nL137]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
1093  41, 42, 41, 42, 41, 42, 41, 42, 31, 32, 31, 32, 31, 32};
1094  // ____________________________________________________________________________(6)___3_
1095  static const int tL138[nL138]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 32, 31,
1096  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1097  static const int tL139[nL139]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1098  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1099  31};
1100  static const int tL140[nL140]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1101  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1102  32};
1103  static const int tL141[nL141]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1104  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1105  31}; // (5)
1106  static const int tL142[nL142]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1107  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1108  32};
1109  static const int tL143[nL143]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1110  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1111  31};
1112  static const int tL144[nL144]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1113  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1114  32, 31};
1115  static const int tL145[nL145]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1116  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1117  31, 32};
1118  static const int tL146[nL146]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1119  32, 33, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1120  32, 31};
1121  static const int tL147[nL147]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1122  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1123  31, 32}; // (6)
1124  static const int tL148[nL148]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1125  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1126  32, 31};
1127  static const int tL149[nL149]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1128  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1129  31, 32};
1130  static const int tL150[nL150]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1131  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1132  32, 31, 32};
1133  static const int tL151[nL151]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1134  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1135  31, 32, 31};
1136  static const int tL152[nL152]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1137  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1138  32, 31, 32}; // (6)
1139  static const int tL153[nL153]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1140  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1141  31, 32, 31};
1142  static const int tL154[nL154]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1143  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1144  32, 31, 32};
1145  static const int tL155[nL155]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1146  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1147  31, 32, 31};
1148  static const int tL156[nL156]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1149  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1150  32, 31, 32, 31};
1151  static const int tL157[nL157]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1152  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1153  31, 32, 31, 32};
1154  static const int tL158[nL158]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1155  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1156  32, 31, 32, 31}; // (5)
1157  static const int tL159[nL159]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1158  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1159  31, 32, 31, 32};
1160  static const int tL160[nL160]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1161  32, 33, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1162  32, 31, 32, 31};
1163  static const int tL161[nL161]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1164  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1165  31, 32, 31, 32, 31};
1166  static const int tL162[nL162]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1167  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1168  32, 31, 32, 31, 32};
1169  static const int tL163[nL163]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1170  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1171  31, 32, 31, 32, 31}; // (6)
1172  static const int tL164[nL164]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1173  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1174  32, 31, 32, 31, 32};
1175  static const int tL165[nL165]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1176  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1177  31, 32, 31, 32, 31};
1178  static const int tL166[nL166]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1179  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1180  32, 31, 32, 31, 32};
1181  static const int tL167[nL167]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1182  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1183  31, 32, 31, 32, 31, 32};
1184  static const int tL168[nL168]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1185  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 21,
1186  22, 21, 22, 21, 22, 21}; // _________________________2_
1187  static const int tL169[nL169]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1188  31, 32, 31, 32, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1189  21, 22, 21, 22, 21, 22}; // (6)
1190  static const int tL170[nL170]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1191  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1192  22, 21, 22, 21, 22, 21};
1193  static const int tL171[nL171]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1194  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1195  21, 22, 21, 22, 21, 22};
1196  static const int tL172[nL172]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1197  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1198  22, 21, 22, 21, 22, 21};
1199  static const int tL173[nL173]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1200  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1201  21, 22, 21, 22, 21, 22, 21};
1202  static const int tL174[nL174]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1203  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1204  22, 21, 22, 21, 22, 21, 22};
1205  static const int tL175[nL175]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1206  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1207  21, 22, 21, 22, 21, 22, 21}; // (5)
1208  static const int tL176[nL176]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1209  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1210  22, 21, 22, 21, 22, 21, 22};
1211  static const int tL177[nL177]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1212  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1213  21, 22, 21, 22, 21, 22, 21};
1214  static const int tL178[nL178]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1215  22, 23, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1216  22, 21, 22, 21, 22, 21, 22, 21};
1217  static const int tL179[nL179]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1218  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1219  21, 22, 21, 22, 21, 22, 21, 22};
1220  static const int tL180[nL180]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1221  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1222  22, 21, 22, 21, 22, 21, 22, 21}; // (6)
1223  static const int tL181[nL181]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1224  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1225  21, 22, 21, 22, 21, 22, 21, 22};
1226  static const int tL182[nL182]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1227  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1228  22, 21, 22, 21, 22, 21, 22, 21};
1229  static const int tL183[nL183]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1230  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1231  21, 22, 21, 22, 21, 22, 21, 22};
1232  static const int tL184[nL184]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1233  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1234  22, 21, 22, 21, 22, 21, 22, 21, 22};
1235  static const int tL185[nL185]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1236  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1237  21, 22, 21, 22, 21, 22, 21, 22, 21};
1238  static const int tL186[nL186]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1239  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1240  22, 21, 22, 21, 22, 21, 22, 21, 22};
1241  static const int tL187[nL187]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1242  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1243  21, 22, 21, 22, 21, 22, 21, 22, 21}; // (6)
1244  static const int tL188[nL188]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1245  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1246  22, 21, 22, 21, 22, 21, 22, 21, 22};
1247  static const int tL189[nL189]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1248  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1249  21, 22, 21, 22, 21, 22, 21, 22, 21};
1250  static const int tL190[nL190]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1251  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1252  22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1253  static const int tL191[nL191]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1254  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1255  21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1256  static const int tL192[nL192]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1257  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1258  22, 21, 22, 21, 22, 21, 22, 21, 22, 21}; // (5)
1259  static const int tL193[nL193]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1260  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1261  21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1262  static const int tL194[nL194]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1263  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1264  22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1265  static const int tL195[nL195]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1266  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1267  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1268  static const int tL196[nL196]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1269  22, 21, 22, 21, 22, 23, 22, 21, 22, 21, 22, 21, 22, 21,
1270  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1271  static const int tL197[nL197]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1272  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1273  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21}; // (6)
1274  static const int tL198[nL198]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1275  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1276  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1277  static const int tL199[nL199]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1278  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1279  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1280  static const int tL200[nL200]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1281  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1282  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1283  static const int tL201[nL201]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1284  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1285  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1286  static const int tL202[nL202]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1287  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1288  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1289  static const int tL203[nL203]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1290  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1291  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22}; //(6)
1292  static const int tL204[nL204]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1293  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1294  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1295  static const int tL205[nL205]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1296  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1297  21, 22, 21, 22, 11, 12, 11, 12, 11, 12, 11, 12};
1298  static const int tL206[nL206]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1299  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 12, 11, 12, 11,
1300  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};//__1_
1301  static const int tL207[nL207]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 12, 11, 12,
1302  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1303  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1304  static const int tL208[nL208]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1305  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1306  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1307  static const int tL209[nL209]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1308  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1309  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};//(5)
1310  static const int tL210[nL210]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1311  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1312  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1313  static const int tL211[nL211]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1314  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1315  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1316  static const int tL212[nL212]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1317  12, 11, 12, 11, 12, 13, 12, 11, 12, 11, 12, 11, 12, 11,
1318  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1319  static const int tL213[nL213]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1320  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1321  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1322  static const int tL214[nL214]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1323  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1324  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1325  static const int tL215[nL215]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1326  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1327  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1328  static const int tL216[nL216]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1329  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1330  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1331  static const int tL217[nL217]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1332  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1333  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1334  static const int tL218[nL218]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1335  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1336  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1337  12};
1338  static const int tL219[nL219]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1339  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1340  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1341  11};
1342  static const int tL220[nL220]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1343  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1344  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1345  12};
1346  static const int tL221[nL221]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1347  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1348  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1349  11}; // (6)
1350  static const int tL222[nL222]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1351  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1352  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1353  12};
1354  static const int tL223[nL223]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1355  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1356  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1357  11};
1358  static const int tL224[nL224]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1359  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1360  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1361  12, 11};
1362  static const int tL225[nL225]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1363  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1364  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1365  11, 12};
1366  static const int tL226[nL226]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1367  12, 11, 12, 11, 12, 13, 12, 11, 12, 11, 12, 11, 12, 11,
1368  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1369  12, 11}; // (5)
1370  static const int tL227[nL227]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1371  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1372  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1373  11, 12};
1374  static const int tL228[nL228]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1375  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1376  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1377  12, 11};
1378  static const int tL229[nL229]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1379  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1380  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1381  11, 12, 11};
1382  static const int tL230[nL230]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1383  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1384  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1385  12, 11, 12};
1386  static const int tL231[nL231]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1387  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1388  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 0, 0, 0,
1389  0, 0, 0}; // (5+1=6)
1390  static const int tL232[nL232]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1391  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1392  12, 11, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393  0, 0, 0};
1394  static const int tL233[nL233]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1395  11, 12, 11, 12, 11, 12, 11, 12, 0, 0, 0, 0, 0, 0,
1396  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397  0, 0, 0};
1398  static const int nSL[nLay]={
1399  nL001, nL002, nL003, nL004, nL005, nL006, nL007, nL008, nL009 ,nL010,
1400  nL011, nL012, nL013, nL014, nL015, nL016, nL017, nL018, nL019 ,nL020,
1401  nL021, nL022, nL023, nL024, nL025, nL026, nL027, nL028, nL029 ,nL030,
1402  nL031, nL032, nL033, nL034, nL035, nL036, nL037, nL038, nL039 ,nL040,
1403  nL041, nL042, nL043, nL044, nL045, nL046, nL047, nL048, nL049 ,nL050,
1404  nL051, nL052, nL053, nL054, nL055, nL056, nL057, nL058, nL059 ,nL060,
1405  nL061, nL062, nL063, nL064, nL065, nL066, nL067, nL068, nL069 ,nL070,
1406  nL071, nL072, nL073, nL074, nL075, nL076, nL077, nL078, nL079 ,nL080,
1407  nL081, nL082, nL083, nL084, nL085, nL086, nL087, nL088, nL089 ,nL090,
1408  nL091, nL092, nL093, nL094, nL095, nL096, nL097, nL098, nL099 ,nL100,
1409  nL101, nL102, nL103, nL104, nL105, nL106, nL107, nL108, nL109 ,nL110,
1410  nL111, nL112, nL113, nL114, nL115, nL116, nL117, nL118, nL119 ,nL120,
1411  nL121, nL122, nL123, nL124, nL125, nL126, nL127, nL128, nL129 ,nL130,
1412  nL131, nL132, nL133, nL134, nL135, nL136, nL137, nL138, nL139 ,nL140,
1413  nL141, nL142, nL143, nL144, nL145, nL146, nL147, nL148, nL149 ,nL150,
1414  nL151, nL152, nL153, nL154, nL155, nL156, nL157, nL158, nL159 ,nL160,
1415  nL161, nL162, nL163, nL164, nL165, nL166, nL167, nL168, nL169 ,nL170,
1416  nL171, nL172, nL173, nL174, nL175, nL176, nL177, nL178, nL179 ,nL180,
1417  nL181, nL182, nL183, nL184, nL185, nL186, nL187, nL188, nL189 ,nL190,
1418  nL191, nL192, nL193, nL194, nL195, nL196, nL197, nL198, nL199 ,nL200,
1419  nL201, nL202, nL203, nL204, nL205, nL206, nL207, nL208, nL209 ,nL210,
1420  nL211, nL212, nL213, nL214, nL215, nL216, nL217, nL218, nL219 ,nL220,
1421  nL221, nL222, nL223, nL224, nL225, nL226, nL227, nL228, nL229 ,nL230,
1422  nL231, nL232, nL233};
1423  static const int * const nLT[nLay]={
1424  tL001, tL002, tL003, tL004, tL005, tL006, tL007, tL008, tL009 ,tL010,
1425  tL011, tL012, tL013, tL014, tL015, tL016, tL017, tL018, tL019 ,tL020,
1426  tL021, tL022, tL023, tL024, tL025, tL026, tL027, tL028, tL029 ,tL030,
1427  tL031, tL032, tL033, tL034, tL035, tL036, tL037, tL038, tL039 ,tL040,
1428  tL041, tL042, tL043, tL044, tL045, tL046, tL047, tL048, tL049 ,tL050,
1429  tL051, tL052, tL053, tL054, tL055, tL056, tL057, tL058, tL059 ,tL060,
1430  tL061, tL062, tL063, tL064, tL065, tL066, tL067, tL068, tL069 ,tL070,
1431  tL071, tL072, tL073, tL074, tL075, tL076, tL077, tL078, tL079 ,tL080,
1432  tL081, tL082, tL083, tL084, tL085, tL086, tL087, tL088, tL089 ,tL090,
1433  tL091, tL092, tL093, tL094, tL095, tL096, tL097, tL098, tL099 ,tL100,
1434  tL101, tL102, tL103, tL104, tL105, tL106, tL107, tL108, tL109 ,tL110,
1435  tL111, tL112, tL113, tL114, tL115, tL116, tL117, tL118, tL119 ,tL120,
1436  tL121, tL122, tL123, tL124, tL125, tL126, tL127, tL128, tL129 ,tL130,
1437  tL131, tL132, tL133, tL134, tL135, tL136, tL137, tL138, tL139 ,tL140,
1438  tL141, tL142, tL143, tL144, tL145, tL146, tL147, tL148, tL149 ,tL150,
1439  tL151, tL152, tL153, tL154, tL155, tL156, tL157, tL158, tL159 ,tL160,
1440  tL161, tL162, tL163, tL164, tL165, tL166, tL167, tL168, tL169 ,tL170,
1441  tL171, tL172, tL173, tL174, tL175, tL176, tL177, tL178, tL179 ,tL180,
1442  tL181, tL182, tL183, tL184, tL185, tL186, tL187, tL188, tL189 ,tL190,
1443  tL191, tL192, tL193, tL194, tL195, tL196, tL197, tL198, tL199 ,tL200,
1444  tL201, tL202, tL203, tL204, tL205, tL206, tL207, tL208, tL209 ,tL210,
1445  tL211, tL212, tL213, tL214, tL215, tL216, tL217, tL218, tL219 ,tL220,
1446  tL221, tL222, tL223, tL224, tL225, tL226, tL227, tL228, tL229 ,tL230,
1447  tL231, tL232, tL233};
1448  static const int * const nRT[nLay]={
1449  tR001, tR002, tR003, tR004, tR005, tR006, tR007, tR008, tR009 ,tR010,
1450  tR011, tR012, tR013, tR014, tR015, tR016, tR017, tR018, tR019 ,tR020,
1451  tR021, tR022, tR023, tR024, tR025, tR026, tR027, tR028, tR029 ,tR030,
1452  tR031, tR032, tR033, tR034, tR035, tR036, tR037, tR038, tR039 ,tR040,
1453  tR041, tR042, tR043, tR044, tR045, tR046, tR047, tR048, tR049 ,tR050,
1454  tR051, tR052, tR053, tR054, tR055, tR056, tR057, tR058, tR059 ,tR060,
1455  tR061, tR062, tR063, tR064, tR065, tR066, tR067, tR068, tR069 ,tR070,
1456  tR071, tR072, tR073, tR074, tR075, tR076, tR077, tR078, tR079 ,tR080,
1457  tR081, tR082, tR083, tR084, tR085, tR086, tR087, tR088, tR089 ,tR090,
1458  tR091, tR092, tR093, tR094, tR095, tR096, tR097, tR098, tR099 ,tR100,
1459  tR101, tR102, tR103, tR104, tR105, tR106, tR107, tR108, tR109 ,tR110,
1460  tR111, tR112, tR113, tR114, tR115, tR116, tR117, tR118, tR119 ,tR120,
1461  tR121, tR122, tR123, tR124, tR125, tR126, tR127, tR128, tR129 ,tR130,
1462  tR131, tR132, tR133, tR134, tR135, tR136, tR137, tR138, tR139 ,tR140,
1463  tR141, tR142, tR143, tR144, tR145, tR146, tR147, tR148, tR149 ,tR150,
1464  tR151, tR152, tR153, tR154, tR155, tR156, tR157, tR158, tR159 ,tR160,
1465  tR161, tR162, tR163, tR164, tR165, tR166, tR167, tR168, tR169 ,tR170,
1466  tR171, tR172, tR173, tR174, tR175, tR176, tR177, tR178, tR179 ,tR180,
1467  tR181, tR182, tR183, tR184, tR185, tR186, tR187, tR188, tR189 ,tR190,
1468  tR191, tR192, tR193, tR194, tR195, tR196, tR197, tR198, tR199 ,tR200,
1469  tR201, tR202, tR203, tR204, tR205, tR206, tR207, tR208, tR209 ,tR210,
1470  tR211, tR212, tR213, tR214, tR215, tR216, tR217, tR218, tR219 ,tR220,
1471  tR221, tR222, tR223, tR224, tR225, tR226, tR227, tR228, tR229 ,tR230,
1472  tR231, tR232, tR233};
1473 
1474  /*
1475  // The following are differences in the Source tube positions(not used so far)
1476  // *** At present for all widgets the F01 is used (@@ to be developed M.K.)
1477  static const int nS=31; // a # of the source tubes in the widget
1478  // 0 - H(Long), 1 - E(Short)
1479  // 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
1480  // 1 1 2 2 3 3 4 5 6 7 8 9 0 1 2 2 3 4 4 5 5 6 6 7 8 9 0 1 2 3 4
1481  // A B A B A B A B A B A B A B
1482  static const int F01[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1483  static const int F02[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1484  static const int F03[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0};
1485  static const int F04[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1486  static const int F05[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1487  static const int F06[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1488  static const int F07[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1489  static const int F08[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1490  static const int F09[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1491  static const int F10[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1492  static const int F11[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1493  static const int F12[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1494  static const int F13[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1495  static const int F14[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1496  static const int F15[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1497  static const int F16[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1498  static const int F17[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1499  static const int F18[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1500 
1501  static const int B01[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1502  static const int B02[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1503  static const int B03[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1504  static const int B04[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1505  static const int B05[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1506  static const int B06[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1507  static const int B07[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1508  static const int B08[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1509  static const int B09[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1510  static const int B10[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1511  static const int B11[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1512  static const int B12[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1513  static const int B13[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1514  static const int B14[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1515  static const int B15[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1516  static const int B16[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1517  static const int B17[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1518  static const int B18[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1519  */
1520 
1521  static const double cellSize = 0.5*CLHEP::cm; // 0.5 cm is the cell size
1522  if (!(xl > 0.))
1523  xl=-xl;
1524  double fx=xl/cellSize;
1525  int ny=static_cast<int>((yl-yMin)/cellSize); // Layer number (starting from 0)
1526  if (ny < 0 || ny >= nLay) // Sould never happen as was checked beforehand
1527  {
1528 #ifdef DebugLog
1529  edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
1530  << "check limits y = " << yl << ", nL=" << nLay;
1531 #endif
1532  return 0;
1533  }
1534  int nx=static_cast<int>(fx); // Cell number (starting from 0)
1535 #ifdef DebugLog
1536  double phis=atan2(xl, yl)/CLHEP::deg;
1537  double zv = pe_effect.z(); // Z in global system
1538  edm::LogInfo("HFShower") << "HFFibreFiducial::PMTNumber:X = " << xv
1539  << ", Y = " << yv << ", Z = " << zv << ", fX = "
1540  << fx << "-> nX = " << nx << ", nY = " << ny
1541  << ", mX = " << nSL[ny] << ", x = " << xl << ", y = "
1542  << yl << ", s = " << cellSize << ", nW = "
1543  << nwid << ", phi = " << phi/CLHEP::deg
1544  << ", phis = " << phis << ", phir = "
1545  << phir/CLHEP::deg;
1546 #endif
1547  if (nx >= nSL[ny])
1548  {
1549 #ifdef DebugLog
1550  edm::LogInfo("HFShower") << "HFFibreFiducial::nx/ny (" << nx
1551  << "," << ny <<") " << " above limit " << nSL[ny];
1552 #endif
1553  return 0; // ===> out of the acceptance
1554  }
1555  int code=0; // a prototype
1556  if (left) code=nLT[ny][nx];
1557  else code=nRT[ny][nx];
1558  int flag= code%10;
1559  int npmt= code/10;
1560  bool src= false; // by default: not a source-tube
1561 #ifdef DebugLog
1562  edm::LogInfo("HFShower") << "HFFibreFiducial::nx/ny (" << nx << ","
1563  << ny << ") code/flag/npmt " << code << "/" << flag
1564  << "/" << npmt;
1565 #endif
1566 
1567  if (!flag) return 0; // ===> no fiber in the cell
1568  else if (flag==1) npmt += 24;
1569  else if (flag==3 || flag==4) {
1570  src=true;
1571  }
1572 #ifdef DebugLog
1573  edm::LogInfo("HFShower") << "HFFibreFiducial::PMTNumber: src = " << src
1574  << ", npmt =" << npmt;
1575 #endif
1576  if (src) return -npmt; // return the negative number for the source
1577  return npmt;
1578 } // End of PMTNumber
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
static int PMTNumber(const G4ThreeVector &pe_effect)
const Double_t pi
Cos< T >::type cos(const T &t)
Definition: Cos.h:22