CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions
HFFibreFiducial Class Reference

#include <HFFibreFiducial.h>

Public Member Functions

 HFFibreFiducial ()
 
virtual ~HFFibreFiducial ()
 

Static Public Member Functions

static int PMTNumber (const G4ThreeVector &pe_effect)
 

Detailed Description

Definition at line 10 of file HFFibreFiducial.h.

Constructor & Destructor Documentation

HFFibreFiducial::HFFibreFiducial ( )
inline

Definition at line 13 of file HFFibreFiducial.h.

13 {}
virtual HFFibreFiducial::~HFFibreFiducial ( )
inlinevirtual

Definition at line 14 of file HFFibreFiducial.h.

14 {}

Member Function Documentation

int HFFibreFiducial::PMTNumber ( const G4ThreeVector &  pe_effect)
static

Definition at line 12 of file HFFibreFiducial.cc.

References funct::cos(), gather_cfg::cout, phi, pi, alignCSCRings::r, funct::sin(), funct::sqr(), and alcazmumu_cfi::src.

Referenced by HFShower::getHits(), HFShowerParam::getHits(), and HCalSD::isItinFidVolume().

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