CMS 3D CMS Logo

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