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