CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/SimG4CMS/Calo/src/HFFibreFiducial.cc

Go to the documentation of this file.
00001 #include "SimG4CMS/Calo/interface/HFFibreFiducial.h"
00002 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00003 
00004 #include "CLHEP/Units/GlobalPhysicalConstants.h"
00005 #include "CLHEP/Units/GlobalSystemOfUnits.h"
00006 #include<iostream>
00007 
00008 //#define DebugLog
00009 //#define mkodebug
00010 
00011 int HFFibreFiducial::PMTNumber(G4ThreeVector pe_effect)
00012 {
00013 #ifdef mkodebug
00014   static double mX=0.;
00015   static double mY=0.;
00016   static double mZ=0.;
00017 #endif
00018   double xv  = pe_effect.x();          // X in global system
00019   double yv  = pe_effect.y();          // Y in global system
00020 #ifdef DebugLog
00021   double zv  = pe_effect.z();          // Z in global system
00022 #endif
00023   double phi = atan2(yv, xv);          // In global system
00024   if (phi < 0.) phi+=CLHEP::pi;        // Just for security
00025   double dph = CLHEP::pi/18;           // 10 deg = a half sector width
00026   double sph = dph+dph;                // 20 deg = a sector width
00027   int   nphi = phi/dph;                // 10 deg sector #
00028 #ifdef DebugLog
00029   edm::LogInfo("HFShower") <<"HFFibreFiducial:***> P = " << pe_effect 
00030                            << ", phi = " << phi/CLHEP::deg;
00031 #endif
00032   if (nphi > 35) nphi=35;              // Just for security
00033   double xl=0.;                        // local sector coordinates (left/right)
00034   double yl=0.;                        // local sector coordinates (down/up)
00035   int nwid=0;                          // CMS widget number (@@ not used now M.K.)
00036   double phir= 0.;                     // phi for rotation to the sector system
00037   if (nphi==0 || nphi==35)
00038   {
00039     yl=xv;
00040     xl=yv;
00041     nwid=6;
00042   }
00043   else if (nphi==17 || nphi==18)
00044   {
00045     yl=-xv;
00046     xl=-yv;
00047     nwid=15;
00048     phir=CLHEP::pi;                    // nr=9 ?
00049   }
00050   else
00051   {
00052     int nr = (nphi+1)/2;               // a sector # (@@ internal definition)
00053     nwid = 6-nr;
00054     if(nwid <= 0) nwid+=18;            // @@ +z || -z M.K. to be improved
00055     phir= sph*nr;                      // nontrivial phi for rotation to the sector system
00056     double cosr= cos(phir);
00057     double sinr= sin(phir);
00058     yl= xv*cosr+yv*sinr;
00059     xl= yv*cosr-xv*sinr;
00060 #ifdef DebugLog
00061     edm::LogInfo("HFShower") << "HFFibreFiducial: nr " << nr << " phi " << phir/CLHEP::deg;
00062 #endif
00063   }
00064   if (yl < 0) yl =-yl;
00065 #ifdef DebugLog
00066   edm::LogInfo("HFShower") << "HFFibreFiducial: Global Point " << pe_effect
00067                            << " nphi " << nphi << " Local Sector Coordinates (" 
00068                            << xl << ", " << yl << "), widget # " << nwid;
00069 #endif
00070   // Provides a PMT # for the (x,y) hit in the widget # nwid (M. Kosov, 11.2010)
00071   // Send comments/questions to Mikhail.Kossov@cern.ch
00072   // nwid = 1-18 for Forward HF, 19-36 for Backward HF (all equal now)
00073   // npmt = 0 for No Hit, 1-24 for H(Long) PMT, 25-48 for E(Short) PMT, negative for souces
00074 
00075   static const int nWidM=36;
00076   if (nwid > nWidM || nwid <= 0)
00077   {
00078 #ifdef DebugLog
00079     edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
00080                              << nwid << " == wrong widget number";
00081 #endif
00082     return 0;
00083   }
00084   static const double yMin= 13.1*CLHEP::cm; // start of the active area (Conv to mm?)
00085   static const double yMax=129.6*CLHEP::cm; // finish of the active area (Conv to mm?)
00086   if( yl < yMin || yl >= yMax )
00087   {
00088 #ifdef DebugLog
00089     edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: Point "
00090                              << "with y = " << yl << " outside acceptance [" 
00091                              << yMin << ":" << yMax << "],  X = " << xv
00092                              << ", Y = " << yv << ", x = " << xl << ", nW = " 
00093                              << nwid << ", phi = " << phi/CLHEP::deg 
00094                              << ", phir = " << phir/CLHEP::deg;
00095 #endif
00096     return 0;                     // ===> out of the acceptance
00097   }
00098   bool left=true;                 // flag of the left part of the widget
00099   double r=xl/yl;                 // for the widget acceptance check
00100   if (r < 0)
00101   {
00102     r=-r;
00103     left=false;
00104   }
00105   static const double tg10=.17632698070847; // phi-angular acceptance of the widget
00106   if (r > tg10)
00107   {
00108 #ifdef DebugLog
00109     edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: (x = "
00110                              << xl << ", y = " << yl << ", tg = " << r 
00111                              << ") out of the widget acceptance tg(10) " << tg10;
00112 #endif
00113     return 0;
00114   }
00115 
00116   static const int nLay=233;      // a # of the sensetive layers in the widget
00117   static const int nL001=4;
00118   static const int nL002=4;
00119   static const int nL003=5;
00120   static const int nL004=5;
00121   static const int nL005=5;  // (5)
00122   static const int nL006=5;
00123   static const int nL007=5;
00124   static const int nL008=6;
00125   static const int nL009=6;
00126   static const int nL010=6;  // (6)
00127   static const int nL011=6;
00128   static const int nL012=6;
00129   static const int nL013=6;
00130   static const int nL014=7;
00131   static const int nL015=7;
00132   static const int nL016=7;  // (6)
00133   static const int nL017=7;
00134   static const int nL018=7;
00135   static const int nL019=7;
00136   static const int nL020=8;
00137   static const int nL021=8;
00138   static const int nL022=8;  // (5)
00139   static const int nL023=8;
00140   static const int nL024=8;
00141   static const int nL025=9;
00142   static const int nL026=9;
00143   static const int nL027=9;  // (6)
00144   static const int nL028=9;
00145   static const int nL029=9;
00146   static const int nL030=9;
00147   static const int nL031=10;
00148   static const int nL032=10;
00149   static const int nL033=10; // (6)
00150   static const int nL034=10;
00151   static const int nL035=10;
00152   static const int nL036=10;
00153   static const int nL037=11;
00154   static const int nL038=11; // (5)
00155   static const int nL039=11;
00156   static const int nL040=11;
00157   static const int nL041=11;
00158   static const int nL042=12;
00159   static const int nL043=12;
00160   static const int nL044=12;
00161   static const int nL045=12; // (6)
00162   static const int nL046=12;
00163   static const int nL047=12;
00164   static const int nL048=13;
00165   static const int nL049=13;
00166   static const int nL050=13; // (6)
00167   static const int nL051=13;
00168   static const int nL052=13;
00169   static const int nL053=13;
00170   static const int nL054=14;
00171   static const int nL055=14;
00172   static const int nL056=14; // (5)
00173   static const int nL057=14;
00174   static const int nL058=14;
00175   static const int nL059=15;
00176   static const int nL060=15;
00177   static const int nL061=15; // (6)
00178   static const int nL062=15;
00179   static const int nL063=15;
00180   static const int nL064=15;
00181   static const int nL065=16;
00182   static const int nL066=16;
00183   static const int nL067=16; // (6)
00184   static const int nL068=16;
00185   static const int nL069=16;
00186   static const int nL070=16;
00187   static const int nL071=17;
00188   static const int nL072=17;
00189   static const int nL073=17; // (5)
00190   static const int nL074=17;
00191   static const int nL075=17;
00192   static const int nL076=18;
00193   static const int nL077=18;
00194   static const int nL078=18; // (6)
00195   static const int nL079=18;
00196   static const int nL080=18;
00197   static const int nL081=18;
00198   static const int nL082=19;
00199   static const int nL083=19; // (6)
00200   static const int nL084=19;
00201   static const int nL085=19;
00202   static const int nL086=19;
00203   static const int nL087=19;
00204   static const int nL088=20;
00205   static const int nL089=20;
00206   static const int nL090=20; // (5)
00207   static const int nL091=20;
00208   static const int nL092=20;
00209   static const int nL093=21;
00210   static const int nL094=21;
00211   static const int nL095=21; // (6)
00212   static const int nL096=21;
00213   static const int nL097=21;
00214   static const int nL098=21;
00215   static const int nL099=22;
00216   static const int nL100=22;
00217   static const int nL101=22; // (6)
00218   static const int nL102=22;
00219   static const int nL103=22;
00220   static const int nL104=22;
00221   static const int nL105=23;
00222   static const int nL106=23;
00223   static const int nL107=23; // (5)
00224   static const int nL108=23;
00225   static const int nL109=23;
00226   static const int nL110=24;
00227   static const int nL111=24;
00228   static const int nL112=24; // (6)
00229   static const int nL113=24;
00230   static const int nL114=24;
00231   static const int nL115=24;
00232   static const int nL116=25;
00233   static const int nL117=25;
00234   static const int nL118=25; // (6)
00235   static const int nL119=25;
00236   static const int nL120=25;
00237   static const int nL121=25;
00238   static const int nL122=26;
00239   static const int nL123=26;
00240   static const int nL124=26; // (5)
00241   static const int nL125=26;
00242   static const int nL126=26;
00243   static const int nL127=27;
00244   static const int nL128=27;
00245   static const int nL129=27; // (6)
00246   static const int nL130=27;
00247   static const int nL131=27;
00248   static const int nL132=27;
00249   static const int nL133=28;
00250   static const int nL134=28;
00251   static const int nL135=28; // (6)
00252   static const int nL136=28;
00253   static const int nL137=28;
00254   static const int nL138=28;
00255   static const int nL139=29;
00256   static const int nL140=29;
00257   static const int nL141=29; // (5)
00258   static const int nL142=29;
00259   static const int nL143=29;
00260   static const int nL144=30;
00261   static const int nL145=30;
00262   static const int nL146=30; // (6)
00263   static const int nL147=30;
00264   static const int nL148=30;
00265   static const int nL149=30;
00266   static const int nL150=31;
00267   static const int nL151=31;
00268   static const int nL152=31; // (6)
00269   static const int nL153=31;
00270   static const int nL154=31;
00271   static const int nL155=31;
00272   static const int nL156=32;
00273   static const int nL157=32; // (5)
00274   static const int nL158=32;
00275   static const int nL159=32;
00276   static const int nL160=32;
00277   static const int nL161=33;
00278   static const int nL162=33; // (6)
00279   static const int nL163=33;
00280   static const int nL164=33;
00281   static const int nL165=33;
00282   static const int nL166=33;
00283   static const int nL167=34;
00284   static const int nL168=34;
00285   static const int nL169=34; // (6)
00286   static const int nL170=34;
00287   static const int nL171=34;
00288   static const int nL172=34;
00289   static const int nL173=35;
00290   static const int nL174=35;
00291   static const int nL175=35; // (5)
00292   static const int nL176=35;
00293   static const int nL177=35;
00294   static const int nL178=36;
00295   static const int nL179=36;
00296   static const int nL180=36; // (6)
00297   static const int nL181=36;
00298   static const int nL182=36;
00299   static const int nL183=36;
00300   static const int nL184=37;
00301   static const int nL185=37;
00302   static const int nL186=37; // (6)
00303   static const int nL187=37;
00304   static const int nL188=37;
00305   static const int nL189=37;
00306   static const int nL190=38;
00307   static const int nL191=38;
00308   static const int nL192=38; // (5)
00309   static const int nL193=38;
00310   static const int nL194=38;
00311   static const int nL195=39;
00312   static const int nL196=39;
00313   static const int nL197=39;
00314   static const int nL198=39; // (6)
00315   static const int nL199=39;
00316   static const int nL200=39;
00317   static const int nL201=40;
00318   static const int nL202=40;
00319   static const int nL203=40; // (6)
00320   static const int nL204=40;
00321   static const int nL205=40;
00322   static const int nL206=40;
00323   static const int nL207=41;
00324   static const int nL208=41;
00325   static const int nL209=41; // (5)
00326   static const int nL210=41;
00327   static const int nL211=41;
00328   static const int nL212=42;
00329   static const int nL213=42;
00330   static const int nL214=42;
00331   static const int nL215=42; // (6)
00332   static const int nL216=42;
00333   static const int nL217=42;
00334   static const int nL218=43;
00335   static const int nL219=43;
00336   static const int nL220=43; // (6)
00337   static const int nL221=43;
00338   static const int nL222=43;
00339   static const int nL223=43;
00340   static const int nL224=44;
00341   static const int nL225=44;
00342   static const int nL226=44; // (5)
00343   static const int nL227=44;
00344   static const int nL228=44;
00345   static const int nL229=45;
00346   static const int nL230=45;
00347   static const int nL231=45; // (5+1=6)
00348   static const int nL232=45;
00349   static const int nL233=45;
00350   //------------------------------------------------------------------------------------
00351   // Mean numbers of fibers in the layer is used. In some widgets it's bigger  ***
00352   // (if the fiber passed throug the hole closer to the edge) and sometimes it ***
00353   // is smaller (if in some holes of the layer fibers did not pass throug).    ***
00354   // The real presence of fibers in the holes is now unknown (not documented), ***
00355   // but the narrow electron showers can be used for revealing of the missing  ***
00356   // or additional fibers in the widget, because the missing fibers reduce the ***
00357   // response and additional fibers increas it. So the tables can be improved  ***
00358   // to be individual for widgets and the FXX/BXX sources-tables can be used.  ***
00359   // ********************** M.Kosov, Mikhail.Kosssov@cern.ch *********************
00360   // NNI, NN=tower#(1-24), i=0: dead; i=1: E(L); i=2: H(S); i=3: ESource; i=4: HSource
00361   static const int tR001[nL001]={132,131,132,131}; // Left Part of the widget (-phi)
00362   static const int tR002[nL002]={131,132,131,132};
00363   static const int tR003[nL003]={132,131,132,131,132};
00364   static const int tR004[nL004]={133,132,131,132,131}; // (5)
00365   static const int tR005[nL005]={132,131,132,131,132};
00366   static const int tR006[nL006]={131,132,131,132,131};
00367   static const int tR007[nL007]={132,131,132,131,132};
00368   static const int tR008[nL008]={131,132,131,132,131,132}; // _______________________13_
00369   static const int tR009[nL009]={122,121,122,121,122,121};
00370   static const int tR010[nL010]={121,122,121,122,123,122}; // (6) (A)
00371   static const int tR011[nL011]={122,121,122,121,122,121};
00372   static const int tR012[nL012]={121,122,121,122,121,122};
00373   static const int tR013[nL013]={122,121,122,121,122,121};
00374   static const int tR014[nL014]={121,122,121,122,121,122,121}; //____________________12_
00375   static const int tR015[nL015]={122,121,242,241,242,241,242}; // (6)
00376   static const int tR016[nL016]={241,242,241,242,241,242,241};
00377   static const int tR017[nL017]={242,241,242,241,242,241,242};
00378   static const int tR018[nL018]={241,242,241,242,243,242,241};
00379   static const int tR019[nL019]={242,241,242,241,242,241,242};
00380   static const int tR020[nL020]={241,242,241,242,241,242,241,242};
00381   static const int tR021[nL021]={242,241,242,241,242,241,242,241}; // (5)
00382   static const int tR022[nL022]={241,242,241,242,241,242,241,242}; //________________24_
00383   static const int tR023[nL023]={232,231,232,231,232,231,232,231};
00384   static const int tR024[nL024]={231,232,231,232,231,232,231,232};
00385   static const int tR025[nL025]={232,231,232,231,232,231,232,231,232};
00386   static const int tR026[nL026]={231,232,231,232,233,232,231,232,231};
00387   static const int tR027[nL027]={232,231,232,231,232,231,232,231,232}; // (6)
00388   static const int tR028[nL028]={231,232,231,232,231,232,231,232,231};
00389   static const int tR029[nL029]={232,231,232,231,232,231,232,231,232};
00390   static const int tR030[nL030]={231,232,231,232,231,232,231,232,231};
00391   static const int tR031[nL031]={232,231,232,231,232,231,232,231,232,231}; //________23_
00392   static const int tR032[nL032]={231,232,231,222,221,222,221,222,221,222};
00393   static const int tR033[nL033]={222,221,222,221,222,221,222,221,222,221}; // (6)
00394   static const int tR034[nL034]={221,222,221,222,221,222,221,222,221,222};
00395   static const int tR035[nL035]={222,221,222,221,222,221,222,221,222,221};
00396   static const int tR036[nL036]={221,222,221,222,223,222,221,222,221,222};
00397   static const int tR037[nL037]={222,221,222,221,222,221,222,221,222,221,222};
00398   static const int tR038[nL038]={221,222,221,222,221,222,221,222,221,222,221};
00399   static const int tR039[nL039]={222,221,222,221,222,221,222,221,222,221,222}; // (5)
00400   static const int tR040[nL040]={221,222,221,222,221,222,221,222,221,222,221};//_____22_
00401   static const int tR041[nL041]={212,211,212,211,212,211,212,211,212,211,212};
00402   static const int tR042[nL042]={211,212,211,212,211,212,211,212,211,212,211,212};
00403   static const int tR043[nL043]={212,211,212,211,212,211,212,211,212,211,212,211};
00404   static const int tR044[nL044]={211,212,211,212,211,212,211,212,211,212,211,212};
00405   static const int tR045[nL045]={212,211,212,211,212,211,212,211,212,211,212,211};//(6)
00406   static const int tR046[nL046]={211,212,211,212,211,212,211,212,211,212,211,212};
00407   static const int tR047[nL047]={212,211,212,211,212,211,212,211,212,211,212,211};
00408   static const int tR048[nL048]={211,212,211,212,211,212,211,214,211,212,211,212,211};
00409   static const int tR049[nL049]={212,211,212,211,212,211,212,211,212,211,212,211,212};
00410   static const int tR050[nL050]={211,212,211,212,211,212,211,212,211,212,211,212,211};
00411   static const int tR051[nL051]={212,211,212,211,212,211,212,211,212,211,212,211,212};//(6)
00412   static const int tR052[nL052]={211,212,211,212,211,212,211,212,211,212,211,212,211};
00413   static const int tR053[nL053]={212,211,212,211,212,211,212,211,212,211,212,211,212};
00414   static const int tR054[nL054]={211,212,211,212,211,212,211,212,211,212,211,212,211,212};
00415   static const int tR055[nL055]={212,211,212,211,212,211,212,211,212,211,212,211,212,211};
00416   // _______________________________________________________________________________21_ (5)
00417   static const int tR056[nL056]={211,212,211,202,201,202,201,202,201,202,201,202,201,202};
00418   static const int tR057[nL057]={202,201,202,201,202,201,202,201,202,201,202,201,202,201};
00419   static const int tR058[nL058]={201,202,201,202,201,202,201,202,201,202,201,202,201,202};
00420   static const int tR059[nL059]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00421                                  202};
00422   static const int tR060[nL060]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00423                                  201};
00424   static const int tR061[nL061]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00425                                  202}; // (6)
00426   static const int tR062[nL062]={201,202,201,202,201,202,201,204,201,202,201,202,201,202,
00427                                  201};
00428   static const int tR063[nL063]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00429                                  202};
00430   static const int tR064[nL064]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00431                                  201};
00432   static const int tR065[nL065]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00433                                  202,201};
00434   static const int tR066[nL066]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00435                                  201,202}; // (6)
00436   static const int tR067[nL067]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00437                                  202,201};
00438   static const int tR068[nL068]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00439                                  201,202};
00440   static const int tR069[nL069]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00441                                  202,201};
00442   static const int tR070[nL070]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00443                                  201,202};
00444   static const int tR071[nL071]={202,201,202,201,202,201,202,201,202,201,192,191,192,191,
00445                                  192,191,192}; // ___________________________________20_
00446   static const int tR072[nL072]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00447                                  191,192,191};
00448   static const int tR073[nL073]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00449                                  192,191,192}; // (5)
00450   static const int tR074[nL074]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00451                                  191,192,191};
00452   static const int tR075[nL075]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00453                                  192,191,192};
00454   static const int tR076[nL076]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00455                                  191,192,191,192};
00456   static const int tR077[nL077]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00457                                  192,191,192,191};
00458   static const int tR078[nL078]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00459                                  191,192,191,192}; // (6)
00460   static const int tR079[nL079]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00461                                  192,191,192,191};
00462   static const int tR080[nL080]={191,192,191,192,191,192,191,194,191,192,191,192,191,192,
00463                                  191,192,191,192};
00464   static const int tR081[nL081]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00465                                  192,191,192,191};
00466   static const int tR082[nL082]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00467                                  191,192,191,192,191};
00468   static const int tR083[nL083]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00469                                  192,191,192,191,192};
00470   static const int tR084[nL084]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00471                                  191,192,191,192,191}; // (6)
00472   static const int tR085[nL085]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00473                                  192,191,192,191,192};
00474   static const int tR086[nL086]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00475                                  191,192,191,192,191};
00476   static const int tR087[nL087]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00477                                  192,191,192,191,192};
00478   static const int tR088[nL088]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00479                                  191,192,181,182,181,182}; // _______________________19_
00480   // ------------------------------------------------------------------------------------
00481   static const int tR089[nL089]={192,191,192,191,182,181,182,181,182,181,182,181,182,181,
00482                                  182,181,182,181,182,181}; // (5)
00483   static const int tR090[nL090]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00484                                  181,182,181,182,181,182};
00485   static const int tR091[nL091]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00486                                  182,181,182,181,182,181};
00487   static const int tR092[nL092]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00488                                  181,182,181,182,181,182};
00489   static const int tR093[nL093]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00490                                  182,181,182,181,182,181,182};
00491   static const int tR094[nL094]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00492                                  181,182,181,182,181,182,181};
00493   static const int tR095[nL095]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00494                                  182,181,182,181,182,181,182}; // (6)
00495   static const int tR096[nL096]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00496                                  181,182,181,182,181,182,181};
00497   static const int tR097[nL097]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00498                                  182,181,182,181,182,181,182};
00499   static const int tR098[nL098]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00500                                  181,182,181,182,181,182,181};
00501   static const int tR099[nL099]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00502                                  182,181,182,181,182,181,182,181};
00503   static const int tR100[nL100]={181,182,181,182,181,182,181,182,181,182,181,182,183,182,
00504                                  181,182,181,182,181,182,181,182}; // (6)
00505   static const int tR101[nL101]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00506                                  182,181,182,181,182,181,182,181};
00507   static const int tR102[nL102]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00508                                  181,182,181,182,181,182,181,182};
00509   static const int tR103[nL103]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00510                                  182,181,182,181,182,181,182,181};
00511   static const int tR104[nL104]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00512                                  181,182,181,182,181,182,181,182};
00513   static const int tR105[nL105]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00514                                  182,181,182,181,182,181,182,181,182};
00515   static const int tR106[nL106]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00516                                  181,182,181,182,181,182,181,182,181};
00517   static const int tR107[nL107]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00518                                  182,181,182,181,182,181,182,181,182}; // (5)
00519   static const int tR108[nL108]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00520                                  181,182,181,182,181,182,181,182,181};
00521   static const int tR109[nL109]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00522                                  182,181,182,181,182,181,182,181,182};
00523   static const int tR110[nL110]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00524                                  181,182,181,182,181,182,181,182,181,182};
00525   static const int tR111[nL111]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00526                                  182,181,182,171,172,171,172,171,172,171}; // _________4_
00527   static const int tR112[nL112]={181,182,181,182,171,172,171,172,171,172,171,172,171,172,
00528                                  171,172,171,172,171,172,171,172,171,172}; // (6)
00529   static const int tR113[nL113]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00530                                  172,171,172,171,172,171,172,171,172,171};
00531   static const int tR114[nL114]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00532                                  171,172,171,172,171,172,171,172,171,172};
00533   static const int tR115[nL115]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00534                                  172,171,172,171,172,171,172,171,172,171};
00535   static const int tR116[nL116]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00536                                  171,172,171,172,171,172,171,172,171,172,171};
00537   static const int tR117[nL117]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00538                                  172,171,172,171,172,171,172,171,172,171,172};
00539   static const int tR118[nL118]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00540                                  171,172,171,172,171,172,171,172,171,172,171};
00541   static const int tR119[nL119]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00542                                  172,171,172,171,172,171,172,171,172,171,172}; // (6)
00543   static const int tR120[nL120]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00544                                  171,172,171,172,171,172,171,172,171,172,171};
00545   static const int tR121[nL121]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00546                                  172,171,172,171,172,171,172,171,172,171,172};
00547   static const int tR122[nL122]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00548                                  171,172,171,172,171,172,171,172,171,172,171,172};
00549   static const int tR123[nL123]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00550                                  172,171,172,171,172,171,172,171,172,171,172,171};
00551   static const int tR124[nL124]={171,172,171,172,171,172,171,172,171,172,171,172,173,172,
00552                                  171,172,171,172,171,172,171,172,171,172,171,172};// (5)
00553   static const int tR125[nL125]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00554                                  172,171,172,171,172,171,172,171,172,171,172,171};
00555   static const int tR126[nL126]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00556                                  171,172,171,172,171,172,171,172,171,172,171,172};
00557   static const int tR127[nL127]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00558                                  172,171,172,171,172,171,172,171,172,171,172,171,172};
00559   static const int tR128[nL128]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00560                                  171,172,171,172,171,172,171,172,171,172,171,172,171};
00561   static const int tR129[nL129]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00562                                  172,171,172,171,172,171,172,171,172,171,172,171,172};
00563   static const int tR130[nL130]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00564                                  171,172,171,172,171,172,171,172,171,172,171,172,171};//(6)
00565   static const int tR131[nL131]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00566                                  172,171,172,171,172,171,172,171,172,171,172,171,172};
00567   static const int tR132[nL132]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00568                                  171,172,171,172,171,172,171,172,171,172,171,172,171};
00569   static const int tR133[nL133]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00570                                  172,171,172,171,172,171,172,171,172,171,172,171,172,171};
00571   static const int tR134[nL134]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00572                                  171,172,171,172,171,172,171,172,171,172,171,172,171,172};
00573   static const int tR135[nL135]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00574                                  172,171,172,171,172,171,172,171,172,171,172,171,172,171};
00575   static const int tR136[nL136]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00576                                  171,172,171,172,171,172,171,172,171,172,171,172,171,172};
00577   static const int tR137[nL137]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00578                                  172,171,172,171,172,171,172,171,162,161,162,161,162,161};
00579   // ____________________________________________________________________________(6)___3_
00580   static const int tR138[nL138]={171,172,171,172,171,172,171,172,171,172,171,172,161,162,
00581                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162};
00582   static const int tR139[nL139]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00583                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00584                                  162};
00585   static const int tR140[nL140]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00586                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00587                                  161};
00588   static const int tR141[nL141]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00589                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00590                                  162}; // (5)
00591   static const int tR142[nL142]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00592                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00593                                  161};
00594   static const int tR143[nL143]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00595                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00596                                  162};
00597   static const int tR144[nL144]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00598                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00599                                  161,162};
00600   static const int tR145[nL145]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00601                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00602                                  162,161};
00603   static const int tR146[nL146]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00604                                  161,162,163,162,161,162,161,162,161,162,161,162,161,162,
00605                                  161,162};
00606   static const int tR147[nL147]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00607                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00608                                  162,161}; // (6)
00609   static const int tR148[nL148]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00610                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00611                                  161,162};
00612   static const int tR149[nL149]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00613                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00614                                  162,161};
00615   static const int tR150[nL150]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00616                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00617                                  161,162,161};
00618   static const int tR151[nL151]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00619                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00620                                  162,161,162};
00621   static const int tR152[nL152]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00622                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00623                                  161,162,161}; // (6)
00624   static const int tR153[nL153]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00625                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00626                                  162,161,162};
00627   static const int tR154[nL154]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00628                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00629                                  161,162,161};
00630   static const int tR155[nL155]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00631                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00632                                  162,161,162};
00633   static const int tR156[nL156]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00634                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00635                                  161,162,161,162};
00636   static const int tR157[nL157]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00637                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00638                                  162,161,162,161};
00639   static const int tR158[nL158]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00640                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00641                                  161,162,161,162}; // (5)
00642   static const int tR159[nL159]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00643                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00644                                  162,161,162,161};
00645   static const int tR160[nL160]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00646                                  161,162,163,162,161,162,161,162,161,162,161,162,161,162,
00647                                  161,162,161,162};
00648   static const int tR161[nL161]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00649                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00650                                  162,161,162,161,162};
00651   static const int tR162[nL162]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00652                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00653                                  161,162,161,162,161};
00654   static const int tR163[nL163]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00655                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00656                                  162,161,162,161,162}; // (6)
00657   static const int tR164[nL164]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00658                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00659                                  161,162,161,162,161};
00660   static const int tR165[nL165]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00661                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00662                                  162,161,162,161,162};
00663   static const int tR166[nL166]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00664                                  161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00665                                  161,162,161,162,161};
00666   static const int tR167[nL167]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00667                                  162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00668                                  162,161,162,161,162,161};
00669   static const int tR168[nL168]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00670                                  161,162,161,162,161,162,161,162,161,162,161,162,161,152,
00671                                  151,152,151,152,151,152}; // _________________________2_
00672   static const int tR169[nL169]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00673                                  162,161,162,161,152,151,152,151,152,151,152,151,152,151,
00674                                  152,151,152,151,152,151}; // (6)
00675   static const int tR170[nL170]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00676                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00677                                  151,152,151,152,151,152};
00678   static const int tR171[nL171]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00679                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00680                                  152,151,152,151,152,151};
00681   static const int tR172[nL172]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00682                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00683                                  151,152,151,152,151,152};
00684   static const int tR173[nL173]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00685                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00686                                  152,151,152,151,152,151,152};
00687   static const int tR174[nL174]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00688                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00689                                  151,152,151,152,151,152,151};
00690   static const int tR175[nL175]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00691                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00692                                  152,151,152,151,152,151,152}; // (5)
00693   static const int tR176[nL176]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00694                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00695                                  151,152,151,152,151,152,151};
00696   static const int tR177[nL177]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00697                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00698                                  152,151,152,151,152,151,152};
00699   static const int tR178[nL178]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00700                                  151,152,153,152,151,152,151,152,151,152,151,152,151,152,
00701                                  151,152,151,152,151,152,151,152};
00702   static const int tR179[nL179]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00703                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00704                                  152,151,152,151,152,151,152,151};
00705   static const int tR180[nL180]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00706                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00707                                  151,152,151,152,151,152,151,152}; // (6)
00708   static const int tR181[nL181]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00709                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00710                                  152,151,152,151,152,151,152,151};
00711   static const int tR182[nL182]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00712                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00713                                  151,152,151,152,151,152,151,152};
00714   static const int tR183[nL183]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00715                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00716                                  152,151,152,151,152,151,152,151};
00717   static const int tR184[nL184]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00718                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00719                                  151,152,151,152,151,152,151,152,151};
00720   static const int tR185[nL185]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00721                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00722                                  152,151,152,151,152,151,152,151,152};
00723   static const int tR186[nL186]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00724                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00725                                  151,152,151,152,151,152,151,152,151};
00726   static const int tR187[nL187]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00727                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00728                                  152,151,152,151,152,151,152,151,152}; // (6)
00729   static const int tR188[nL188]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00730                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00731                                  151,152,151,152,151,152,151,152,151};
00732   static const int tR189[nL189]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00733                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00734                                  152,151,152,151,152,151,152,151,152};
00735   static const int tR190[nL190]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00736                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00737                                  151,152,151,152,151,152,151,152,151,152};
00738   static const int tR191[nL191]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00739                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00740                                  152,151,152,151,152,151,152,151,152,151};
00741   static const int tR192[nL192]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00742                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00743                                  151,152,151,152,151,152,151,152,151,152}; // (5)
00744   static const int tR193[nL193]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00745                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00746                                  152,151,152,151,152,151,152,151,152,151};
00747   static const int tR194[nL194]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00748                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00749                                  151,152,151,152,151,152,151,152,151,152};
00750   static const int tR195[nL195]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00751                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00752                                  152,151,152,151,152,151,152,151,152,151,152};
00753   static const int tR196[nL196]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00754                                  151,152,151,152,151,152,153,152,151,152,151,152,151,152,
00755                                  151,152,151,152,151,152,151,152,151,152,151};
00756   static const int tR197[nL197]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00757                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00758                                  152,151,152,151,152,151,152,151,152,151,152}; // (6)
00759   static const int tR198[nL198]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00760                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00761                                  151,152,151,152,151,152,151,152,151,152,151};
00762   static const int tR199[nL199]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00763                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00764                                  152,151,152,151,152,151,152,151,152,151,152};
00765   static const int tR200[nL200]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00766                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00767                                  151,152,151,152,151,152,151,152,151,152,151};
00768   static const int tR201[nL201]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00769                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00770                                  152,151,152,151,152,151,152,151,152,151,152,151};
00771   static const int tR202[nL202]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00772                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00773                                  151,152,151,152,151,152,151,152,151,152,151,152};
00774   static const int tR203[nL203]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00775                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00776                                  152,151,152,151,152,151,152,151,152,151,152,151}; //(6)
00777   static const int tR204[nL204]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00778                                  151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00779                                  151,152,151,152,151,152,151,152,151,152,151,152};
00780   static const int tR205[nL205]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00781                                  152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00782                                  152,151,152,151,142,141,142,141,142,141,142,141};
00783   static const int tR206[nL206]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00784                                  151,152,151,152,151,152,151,152,151,152,141,142,141,142,
00785                                  141,142,141,142,141,142,141,142,141,142,141,142};//__1_
00786   static const int tR207[nL207]={152,151,152,151,152,151,152,151,152,151,152,141,142,141,
00787                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00788                                  142,141,142,141,142,141,142,141,142,141,142,141,142};
00789   static const int tR208[nL208]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00790                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00791                                  141,142,141,142,141,142,141,142,141,142,141,142,141};
00792   static const int tR209[nL209]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00793                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00794                                  142,141,142,141,142,141,142,141,142,141,142,141,142};//(5)
00795   static const int tR210[nL210]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00796                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00797                                  141,142,141,142,141,142,141,142,141,142,141,142,141};
00798   static const int tR211[nL211]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00799                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00800                                  142,141,142,141,142,141,142,141,142,141,142,141,142};
00801   static const int tR212[nL212]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00802                                  141,142,141,142,141,142,143,142,141,142,141,142,141,142,
00803                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142};
00804   static const int tR213[nL213]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00805                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00806                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141};
00807   static const int tR214[nL214]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00808                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00809                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142};
00810   static const int tR215[nL215]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00811                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00812                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141};
00813   static const int tR216[nL216]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00814                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00815                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142};
00816   static const int tR217[nL217]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00817                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00818                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141};
00819   static const int tR218[nL218]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00820                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00821                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00822                                  141};
00823   static const int tR219[nL219]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00824                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00825                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00826                                  142};
00827   static const int tR220[nL220]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00828                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00829                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00830                                  141};
00831   static const int tR221[nL221]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00832                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00833                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00834                                  142}; // (6)
00835   static const int tR222[nL222]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00836                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00837                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00838                                  141};
00839   static const int tR223[nL223]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00840                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00841                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00842                                  142};
00843   static const int tR224[nL224]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00844                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00845                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00846                                  141,142};
00847   static const int tR225[nL225]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00848                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00849                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00850                                  142,141};
00851   static const int tR226[nL226]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00852                                  141,142,141,142,141,142,143,142,141,142,141,142,141,142,
00853                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00854                                  141,142}; // (5)
00855   static const int tR227[nL227]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00856                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00857                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00858                                  142,141};
00859   static const int tR228[nL228]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00860                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00861                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00862                                  141,142};
00863   static const int tR229[nL229]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00864                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00865                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00866                                  142,141,142};
00867   static const int tR230[nL230]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00868                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00869                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00870                                  141,142,141};
00871   static const int tR231[nL231]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00872                                  142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00873                                  142,141,142,141,142,141,142,141,142,141,142,  0,  0,  0,
00874                                    0,  0,  0}; // (5+1=6)
00875   static const int tR232[nL232]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00876                                  141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00877                                  141,142,141,142,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
00878                                    0,  0,  0};
00879   static const int tR233[nL233]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00880                                  142,141,142,141,142,141,142,141,  0,  0,  0,  0,  0,  0,
00881                                    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
00882                                    0,  0,  0};
00883   //------------------------------------------------------------------------------------
00884   static const int tL001[nL001]={131,132,131,132}; // Left Part of the widget (-phi)
00885   static const int tL002[nL002]={132,131,132,131};
00886   static const int tL003[nL003]={131,132,131,132,131};
00887   static const int tL004[nL004]={132,131,132,131,132}; // (5)
00888   static const int tL005[nL005]={131,132,131,132,131};
00889   static const int tL006[nL006]={132,131,132,131,132};
00890   static const int tL007[nL007]={131,132,131,132,131};
00891   static const int tL008[nL008]={132,131,132,131,132,131}; // ______________________13_
00892   static const int tL009[nL009]={121,122,121,122,121,122};
00893   static const int tL010[nL010]={122,121,122,121,124,121};
00894   static const int tL011[nL011]={121,122,121,122,121,122}; // (6) (B)
00895   static const int tL012[nL012]={122,121,122,121,122,121};
00896   static const int tL013[nL013]={121,122,121,122,121,122};
00897   static const int tL014[nL014]={122,121,122,121,122,121,122}; //___________________12_
00898   static const int tL015[nL015]={121,122,111,112,111,112,111};
00899   static const int tL016[nL016]={112,111,112,111,112,111,112};
00900   static const int tL017[nL017]={111,112,111,112,111,112,111}; // (6)
00901   static const int tL018[nL018]={112,111,112,111,114,111,112};
00902   static const int tL019[nL019]={111,112,111,112,111,112,111};
00903   static const int tL020[nL020]={112,111,112,111,112,111,112,111};
00904   static const int tL021[nL021]={111,112,111,112,111,112,111,112}; // (5)
00905   static const int tL022[nL022]={112,111,112,111,112,111,112,111}; //_______________11_
00906   static const int tL023[nL023]={101,102,101,102,101,102,101,102};
00907   static const int tL024[nL024]={102,101,102,101,102,101,102,101};
00908   static const int tL025[nL025]={101,102,101,102,101,102,101,102,101};
00909   static const int tL026[nL026]={102,101,102,101,104,101,102,101,102};
00910   static const int tL027[nL027]={101,102,101,102,101,102,101,102,101}; // (6)
00911   static const int tL028[nL028]={102,101,102,101,102,101,102,101,102};
00912   static const int tL029[nL029]={101,102,101,102,101,102,101,102,101};
00913   static const int tL030[nL030]={102,101,102,101,102,101,102,101,102};
00914   static const int tL031[nL031]={101,102,101,102,101,102,101,102,101,102}; //_______10_
00915   static const int tL032[nL032]={102,101,102, 91, 92, 91, 92, 91, 92, 91};
00916   static const int tL033[nL033]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92}; // (6)
00917   static const int tL034[nL034]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
00918   static const int tL035[nL035]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
00919   static const int tL036[nL036]={ 92, 91, 92, 91, 94, 91, 92, 91, 92, 91};
00920   static const int tL037[nL037]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
00921   static const int tL038[nL038]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
00922   static const int tL039[nL039]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91}; // (5)
00923   static const int tL040[nL040]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
00924   static const int tL041[nL041]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
00925   static const int tL042[nL042]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};//_9_
00926   static const int tL043[nL043]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00927   static const int tL044[nL044]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00928   static const int tL045[nL045]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};//(6)
00929   static const int tL046[nL046]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00930   static const int tL047[nL047]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00931   static const int tL048[nL048]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00932   static const int tL049[nL049]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00933   static const int tL050[nL050]={ 82, 81, 82, 81, 82, 81, 82, 81, 84, 81, 82, 81, 82};//(6)
00934   static const int tL051[nL051]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00935   static const int tL052[nL052]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00936   static const int tL053[nL053]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00937   static const int tL054[nL054]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00938   static const int tL055[nL055]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00939   // ________________________________________________________________________________8_ (5)
00940   static const int tL056[nL056]={ 82, 81, 82, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
00941   static const int tL057[nL057]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
00942   static const int tL058[nL058]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
00943   static const int tL059[nL059]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00944                                   71};
00945   static const int tL060[nL060]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00946                                   72};
00947   static const int tL061[nL061]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00948                                   71}; // (6)
00949   static const int tL062[nL062]={ 72, 71, 72, 71, 72, 71, 72, 71, 74, 71, 72, 71, 72, 71,
00950                                   71};
00951   static const int tL063[nL063]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00952                                   71};
00953   static const int tL064[nL064]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00954                                   72};
00955   static const int tL065[nL065]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00956                                   71, 72};
00957   static const int tL066[nL066]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00958                                   72, 71}; // (6)
00959   static const int tL067[nL067]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00960                                   71, 72};
00961   static const int tL068[nL068]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00962                                   72, 71};
00963   static const int tL069[nL069]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00964                                   71, 72};
00965   static const int tL070[nL070]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00966                                   72, 71};
00967   static const int tL071[nL071]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 61, 62, 61, 62,
00968                                   61, 62, 61}; // _____________________________________7_
00969   static const int tL072[nL072]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00970                                   62, 61, 62};
00971   static const int tL073[nL073]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00972                                   61, 62, 61}; // (5)
00973   static const int tL074[nL074]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00974                                   62, 61, 62};
00975   static const int tL075[nL075]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00976                                   61, 62, 61};
00977   static const int tL076[nL076]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00978                                   62, 61, 62, 61};
00979   static const int tL077[nL077]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00980                                   61, 62, 61, 62};
00981   static const int tL078[nL078]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00982                                   62, 61, 62, 61}; // (6)
00983   static const int tL079[nL079]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00984                                   61, 62, 61, 62};
00985   static const int tL080[nL080]={ 62, 61, 62, 61, 62, 61, 62, 61, 64, 61, 62, 61, 62, 61,
00986                                   62, 61, 62, 61};
00987   static const int tL081[nL081]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00988                                   61, 62, 61, 62};
00989   static const int tL082[nL082]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00990                                   62, 61, 62, 61, 62};
00991   static const int tL083[nL083]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00992                                   61, 62, 61, 62, 61}; // (6)
00993   static const int tL084[nL084]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00994                                   62, 61, 62, 61, 62};
00995   static const int tL085[nL085]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00996                                   61, 62, 61, 62, 61};
00997   static const int tL086[nL086]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00998                                   62, 61, 62, 61, 62};
00999   static const int tL087[nL087]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
01000                                   61, 62, 61, 62, 61};
01001   static const int tL088[nL088]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
01002                                   62, 61, 52, 51, 52, 51}; // _________________________6_
01003   //-------------------------------------------------------------------------------------
01004   static const int tL089[nL089]={ 61, 62, 61, 62, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01005                                   51, 52, 51, 52, 51, 52}; // (5)
01006   static const int tL090[nL090]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01007                                   52, 51, 52, 51, 52, 51};
01008   static const int tL091[nL091]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01009                                   51, 52, 51, 52, 51, 52};
01010   static const int tL092[nL092]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01011                                   52, 51, 52, 51, 52, 51};
01012   static const int tL093[nL093]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01013                                   51, 52, 51, 52, 51, 52, 51};
01014   static const int tL094[nL094]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01015                                   52, 51, 52, 51, 52, 51, 52};
01016   static const int tL095[nL095]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01017                                   51, 52, 51, 52, 51, 52, 51}; // (6)
01018   static const int tL096[nL096]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01019                                   52, 51, 52, 51, 52, 51, 52};
01020   static const int tL097[nL097]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01021                                   51, 52, 51, 52, 51, 52, 51};
01022   static const int tL098[nL098]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01023                                   52, 51, 52, 51, 52, 51, 52};
01024   static const int tL099[nL099]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01025                                   51, 52, 51, 52, 51, 52, 51, 52};
01026   static const int tL100[nL100]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 53, 52, 51,
01027                                   52, 51, 52, 51, 52, 51, 52, 51}; // (6)
01028   static const int tL101[nL101]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01029                                   51, 52, 51, 52, 51, 52, 51, 52};
01030   static const int tL102[nL102]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01031                                   52, 51, 52, 51, 52, 51, 52, 51};
01032   static const int tL103[nL103]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01033                                   51, 52, 51, 52, 51, 52, 51, 52};
01034   static const int tL104[nL104]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01035                                   52, 51, 52, 51, 52, 51, 52, 51};
01036   static const int tL105[nL105]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01037                                   51, 52, 51, 52, 51, 52, 51, 52, 51};
01038   static const int tL106[nL106]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01039                                   52, 51, 52, 51, 52, 51, 52, 51, 52};
01040   static const int tL107[nL107]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01041                                   51, 52, 51, 52, 51, 52, 51, 52, 51}; // (5)
01042   static const int tL108[nL108]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01043                                   52, 51, 52, 51, 52, 51, 52, 51, 52};
01044   static const int tL109[nL109]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01045                                   51, 52, 51, 52, 51, 52, 51, 52, 51};
01046   static const int tL110[nL110]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01047                                   52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
01048   static const int tL111[nL111]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01049                                   51, 52, 51, 42, 41, 42, 41, 42, 41, 42}; // _________4_
01050   static const int tL112[nL112]={ 52, 51, 52, 51, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01051                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41}; // (6)
01052   static const int tL113[nL113]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01053                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01054   static const int tL114[nL114]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01055                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01056   static const int tL115[nL115]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01057                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01058   static const int tL116[nL116]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01059                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01060   static const int tL117[nL117]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01061                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01062   static const int tL118[nL118]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01063                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01064   static const int tL119[nL119]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01065                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41}; // (6)
01066   static const int tL120[nL120]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01067                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01068   static const int tL121[nL121]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01069                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01070   static const int tL122[nL122]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01071                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01072   static const int tL123[nL123]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01073                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01074   static const int tL124[nL124]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 43, 42, 41,
01075                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};// (5)
01076   static const int tL125[nL125]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01077                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01078   static const int tL126[nL126]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01079                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01080   static const int tL127[nL127]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01081                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01082   static const int tL128[nL128]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01083                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01084   static const int tL129[nL129]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01085                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01086   static const int tL130[nL130]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01087                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};//(6)
01088   static const int tL131[nL131]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01089                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01090   static const int tL132[nL132]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01091                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01092   static const int tL133[nL133]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01093                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01094   static const int tL134[nL134]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01095                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01096   static const int tL135[nL135]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01097                                   41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01098   static const int tL136[nL136]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01099                                   42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01100   static const int tL137[nL137]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01101                                   41, 42, 41, 42, 41, 42, 41, 42, 31, 32, 31, 32, 31, 32};
01102   // ____________________________________________________________________________(6)___3_
01103   static const int tL138[nL138]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 32, 31,
01104                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
01105   static const int tL139[nL139]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01106                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01107                                   31};
01108   static const int tL140[nL140]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01109                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01110                                   32};
01111   static const int tL141[nL141]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01112                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01113                                   31}; // (5)
01114   static const int tL142[nL142]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01115                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01116                                   32};
01117   static const int tL143[nL143]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01118                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01119                                   31};
01120   static const int tL144[nL144]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01121                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01122                                   32, 31};
01123   static const int tL145[nL145]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01124                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01125                                   31, 32};
01126   static const int tL146[nL146]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01127                                   32, 33, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01128                                   32, 31};
01129   static const int tL147[nL147]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01130                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01131                                   31, 32}; // (6)
01132   static const int tL148[nL148]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01133                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01134                                   32, 31};
01135   static const int tL149[nL149]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01136                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01137                                   31, 32};
01138   static const int tL150[nL150]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01139                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01140                                   32, 31, 32};
01141   static const int tL151[nL151]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01142                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01143                                   31, 32, 31};
01144   static const int tL152[nL152]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01145                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01146                                   32, 31, 32}; // (6)
01147   static const int tL153[nL153]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01148                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01149                                   31, 32, 31};
01150   static const int tL154[nL154]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01151                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01152                                   32, 31, 32};
01153   static const int tL155[nL155]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01154                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01155                                   31, 32, 31};
01156   static const int tL156[nL156]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01157                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01158                                   32, 31, 32, 31};
01159   static const int tL157[nL157]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01160                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01161                                   31, 32, 31, 32};
01162   static const int tL158[nL158]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01163                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01164                                   32, 31, 32, 31}; // (5)
01165   static const int tL159[nL159]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01166                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01167                                   31, 32, 31, 32};
01168   static const int tL160[nL160]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01169                                   32, 33, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01170                                   32, 31, 32, 31};
01171   static const int tL161[nL161]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01172                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01173                                   31, 32, 31, 32, 31};
01174   static const int tL162[nL162]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01175                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01176                                   32, 31, 32, 31, 32};
01177   static const int tL163[nL163]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01178                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01179                                   31, 32, 31, 32, 31}; // (6)
01180   static const int tL164[nL164]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01181                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01182                                   32, 31, 32, 31, 32};
01183   static const int tL165[nL165]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01184                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01185                                   31, 32, 31, 32, 31};
01186   static const int tL166[nL166]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01187                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01188                                   32, 31, 32, 31, 32};
01189   static const int tL167[nL167]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01190                                   31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01191                                   31, 32, 31, 32, 31, 32};
01192   static const int tL168[nL168]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01193                                   32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 21,
01194                                   22, 21, 22, 21, 22, 21}; // _________________________2_
01195   static const int tL169[nL169]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01196                                   31, 32, 31, 32, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01197                                   21, 22, 21, 22, 21, 22}; // (6)
01198   static const int tL170[nL170]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01199                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01200                                   22, 21, 22, 21, 22, 21};
01201   static const int tL171[nL171]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01202                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01203                                   21, 22, 21, 22, 21, 22};
01204   static const int tL172[nL172]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01205                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01206                                   22, 21, 22, 21, 22, 21};
01207   static const int tL173[nL173]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01208                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01209                                   21, 22, 21, 22, 21, 22, 21};
01210   static const int tL174[nL174]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01211                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01212                                   22, 21, 22, 21, 22, 21, 22};
01213   static const int tL175[nL175]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01214                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01215                                   21, 22, 21, 22, 21, 22, 21}; // (5)
01216   static const int tL176[nL176]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01217                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01218                                   22, 21, 22, 21, 22, 21, 22};
01219   static const int tL177[nL177]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01220                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01221                                   21, 22, 21, 22, 21, 22, 21};
01222   static const int tL178[nL178]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01223                                   22, 23, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01224                                   22, 21, 22, 21, 22, 21, 22, 21};
01225   static const int tL179[nL179]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01226                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01227                                   21, 22, 21, 22, 21, 22, 21, 22};
01228   static const int tL180[nL180]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01229                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01230                                   22, 21, 22, 21, 22, 21, 22, 21}; // (6)
01231   static const int tL181[nL181]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01232                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01233                                   21, 22, 21, 22, 21, 22, 21, 22};
01234   static const int tL182[nL182]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01235                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01236                                   22, 21, 22, 21, 22, 21, 22, 21};
01237   static const int tL183[nL183]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01238                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01239                                   21, 22, 21, 22, 21, 22, 21, 22};
01240   static const int tL184[nL184]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01241                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01242                                   22, 21, 22, 21, 22, 21, 22, 21, 22};
01243   static const int tL185[nL185]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01244                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01245                                   21, 22, 21, 22, 21, 22, 21, 22, 21};
01246   static const int tL186[nL186]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01247                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01248                                   22, 21, 22, 21, 22, 21, 22, 21, 22};
01249   static const int tL187[nL187]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01250                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01251                                   21, 22, 21, 22, 21, 22, 21, 22, 21}; // (6)
01252   static const int tL188[nL188]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01253                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01254                                   22, 21, 22, 21, 22, 21, 22, 21, 22};
01255   static const int tL189[nL189]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01256                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01257                                   21, 22, 21, 22, 21, 22, 21, 22, 21};
01258   static const int tL190[nL190]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01259                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01260                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01261   static const int tL191[nL191]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01262                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01263                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01264   static const int tL192[nL192]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01265                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01266                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21}; // (5)
01267   static const int tL193[nL193]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01268                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01269                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01270   static const int tL194[nL194]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01271                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01272                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01273   static const int tL195[nL195]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01274                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01275                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01276   static const int tL196[nL196]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01277                                   22, 21, 22, 21, 22, 23, 22, 21, 22, 21, 22, 21, 22, 21,
01278                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01279   static const int tL197[nL197]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01280                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01281                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21}; // (6)
01282   static const int tL198[nL198]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01283                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01284                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01285   static const int tL199[nL199]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01286                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01287                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01288   static const int tL200[nL200]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01289                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01290                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01291   static const int tL201[nL201]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01292                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01293                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01294   static const int tL202[nL202]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01295                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01296                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01297   static const int tL203[nL203]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01298                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01299                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22}; //(6)
01300   static const int tL204[nL204]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01301                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01302                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01303   static const int tL205[nL205]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01304                                   21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01305                                   21, 22, 21, 22, 11, 12, 11, 12, 11, 12, 11, 12};
01306   static const int tL206[nL206]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01307                                   22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 12, 11, 12, 11,
01308                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};//__1_
01309   static const int tL207[nL207]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 12, 11, 12,
01310                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01311                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01312   static const int tL208[nL208]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01313                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01314                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01315   static const int tL209[nL209]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01316                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01317                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};//(5)
01318   static const int tL210[nL210]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01319                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01320                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01321   static const int tL211[nL211]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01322                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01323                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01324   static const int tL212[nL212]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01325                                   12, 11, 12, 11, 12, 13, 12, 11, 12, 11, 12, 11, 12, 11,
01326                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01327   static const int tL213[nL213]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01328                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01329                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01330   static const int tL214[nL214]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01331                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01332                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01333   static const int tL215[nL215]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01334                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01335                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01336   static const int tL216[nL216]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01337                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01338                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01339   static const int tL217[nL217]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01340                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01341                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01342   static const int tL218[nL218]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01343                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01344                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01345                                   12};
01346   static const int tL219[nL219]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01347                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01348                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01349                                   11};
01350   static const int tL220[nL220]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01351                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01352                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01353                                   12};
01354   static const int tL221[nL221]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01355                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01356                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01357                                   11}; // (6)
01358   static const int tL222[nL222]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01359                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01360                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01361                                   12};
01362   static const int tL223[nL223]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01363                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01364                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01365                                   11};
01366   static const int tL224[nL224]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01367                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01368                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01369                                   12, 11};
01370   static const int tL225[nL225]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01371                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01372                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01373                                   11, 12};
01374   static const int tL226[nL226]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01375                                   12, 11, 12, 11, 12, 13, 12, 11, 12, 11, 12, 11, 12, 11,
01376                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01377                                   12, 11}; // (5)
01378   static const int tL227[nL227]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01379                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01380                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01381                                   11, 12};
01382   static const int tL228[nL228]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01383                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01384                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01385                                   12, 11};
01386   static const int tL229[nL229]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01387                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01388                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01389                                   11, 12, 11};
01390   static const int tL230[nL230]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01391                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01392                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01393                                   12, 11, 12};
01394   static const int tL231[nL231]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01395                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01396                                   11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,  0,  0,  0,
01397                                    0,  0,  0}; // (5+1=6)
01398   static const int tL232[nL232]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01399                                   12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01400                                   12, 11, 12, 11,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
01401                                    0,  0,  0};
01402   static const int tL233[nL233]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01403                                   11, 12, 11, 12, 11, 12, 11, 12,  0,  0,  0,  0,  0,  0,
01404                                    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
01405                                    0,  0,  0};
01406   static const int nSL[nLay]={
01407     nL001, nL002, nL003, nL004, nL005, nL006, nL007, nL008, nL009 ,nL010,
01408     nL011, nL012, nL013, nL014, nL015, nL016, nL017, nL018, nL019 ,nL020,
01409     nL021, nL022, nL023, nL024, nL025, nL026, nL027, nL028, nL029 ,nL030,
01410     nL031, nL032, nL033, nL034, nL035, nL036, nL037, nL038, nL039 ,nL040,
01411     nL041, nL042, nL043, nL044, nL045, nL046, nL047, nL048, nL049 ,nL050,
01412     nL051, nL052, nL053, nL054, nL055, nL056, nL057, nL058, nL059 ,nL060,
01413     nL061, nL062, nL063, nL064, nL065, nL066, nL067, nL068, nL069 ,nL070,
01414     nL071, nL072, nL073, nL074, nL075, nL076, nL077, nL078, nL079 ,nL080,
01415     nL081, nL082, nL083, nL084, nL085, nL086, nL087, nL088, nL089 ,nL090,
01416     nL091, nL092, nL093, nL094, nL095, nL096, nL097, nL098, nL099 ,nL100,
01417     nL101, nL102, nL103, nL104, nL105, nL106, nL107, nL108, nL109 ,nL110,
01418     nL111, nL112, nL113, nL114, nL115, nL116, nL117, nL118, nL119 ,nL120,
01419     nL121, nL122, nL123, nL124, nL125, nL126, nL127, nL128, nL129 ,nL130,
01420     nL131, nL132, nL133, nL134, nL135, nL136, nL137, nL138, nL139 ,nL140,
01421     nL141, nL142, nL143, nL144, nL145, nL146, nL147, nL148, nL149 ,nL150,
01422     nL151, nL152, nL153, nL154, nL155, nL156, nL157, nL158, nL159 ,nL160,
01423     nL161, nL162, nL163, nL164, nL165, nL166, nL167, nL168, nL169 ,nL170,
01424     nL171, nL172, nL173, nL174, nL175, nL176, nL177, nL178, nL179 ,nL180,
01425     nL181, nL182, nL183, nL184, nL185, nL186, nL187, nL188, nL189 ,nL190,
01426     nL191, nL192, nL193, nL194, nL195, nL196, nL197, nL198, nL199 ,nL200,
01427     nL201, nL202, nL203, nL204, nL205, nL206, nL207, nL208, nL209 ,nL210,
01428     nL211, nL212, nL213, nL214, nL215, nL216, nL217, nL218, nL219 ,nL220,
01429     nL221, nL222, nL223, nL224, nL225, nL226, nL227, nL228, nL229 ,nL230,
01430     nL231, nL232, nL233};
01431   static const int* nLT[nLay]={
01432     tL001, tL002, tL003, tL004, tL005, tL006, tL007, tL008, tL009 ,tL010,
01433     tL011, tL012, tL013, tL014, tL015, tL016, tL017, tL018, tL019 ,tL020,
01434     tL021, tL022, tL023, tL024, tL025, tL026, tL027, tL028, tL029 ,tL030,
01435     tL031, tL032, tL033, tL034, tL035, tL036, tL037, tL038, tL039 ,tL040,
01436     tL041, tL042, tL043, tL044, tL045, tL046, tL047, tL048, tL049 ,tL050,
01437     tL051, tL052, tL053, tL054, tL055, tL056, tL057, tL058, tL059 ,tL060,
01438     tL061, tL062, tL063, tL064, tL065, tL066, tL067, tL068, tL069 ,tL070,
01439     tL071, tL072, tL073, tL074, tL075, tL076, tL077, tL078, tL079 ,tL080,
01440     tL081, tL082, tL083, tL084, tL085, tL086, tL087, tL088, tL089 ,tL090,
01441     tL091, tL092, tL093, tL094, tL095, tL096, tL097, tL098, tL099 ,tL100,
01442     tL101, tL102, tL103, tL104, tL105, tL106, tL107, tL108, tL109 ,tL110,
01443     tL111, tL112, tL113, tL114, tL115, tL116, tL117, tL118, tL119 ,tL120,
01444     tL121, tL122, tL123, tL124, tL125, tL126, tL127, tL128, tL129 ,tL130,
01445     tL131, tL132, tL133, tL134, tL135, tL136, tL137, tL138, tL139 ,tL140,
01446     tL141, tL142, tL143, tL144, tL145, tL146, tL147, tL148, tL149 ,tL150,
01447     tL151, tL152, tL153, tL154, tL155, tL156, tL157, tL158, tL159 ,tL160,
01448     tL161, tL162, tL163, tL164, tL165, tL166, tL167, tL168, tL169 ,tL170,
01449     tL171, tL172, tL173, tL174, tL175, tL176, tL177, tL178, tL179 ,tL180,
01450     tL181, tL182, tL183, tL184, tL185, tL186, tL187, tL188, tL189 ,tL190,
01451     tL191, tL192, tL193, tL194, tL195, tL196, tL197, tL198, tL199 ,tL200,
01452     tL201, tL202, tL203, tL204, tL205, tL206, tL207, tL208, tL209 ,tL210,
01453     tL211, tL212, tL213, tL214, tL215, tL216, tL217, tL218, tL219 ,tL220,
01454     tL221, tL222, tL223, tL224, tL225, tL226, tL227, tL228, tL229 ,tL230,
01455     tL231, tL232, tL233};
01456   static const int* nRT[nLay]={
01457     tR001, tR002, tR003, tR004, tR005, tR006, tR007, tR008, tR009 ,tR010,
01458     tR011, tR012, tR013, tR014, tR015, tR016, tR017, tR018, tR019 ,tR020,
01459     tR021, tR022, tR023, tR024, tR025, tR026, tR027, tR028, tR029 ,tR030,
01460     tR031, tR032, tR033, tR034, tR035, tR036, tR037, tR038, tR039 ,tR040,
01461     tR041, tR042, tR043, tR044, tR045, tR046, tR047, tR048, tR049 ,tR050,
01462     tR051, tR052, tR053, tR054, tR055, tR056, tR057, tR058, tR059 ,tR060,
01463     tR061, tR062, tR063, tR064, tR065, tR066, tR067, tR068, tR069 ,tR070,
01464     tR071, tR072, tR073, tR074, tR075, tR076, tR077, tR078, tR079 ,tR080,
01465     tR081, tR082, tR083, tR084, tR085, tR086, tR087, tR088, tR089 ,tR090,
01466     tR091, tR092, tR093, tR094, tR095, tR096, tR097, tR098, tR099 ,tR100,
01467     tR101, tR102, tR103, tR104, tR105, tR106, tR107, tR108, tR109 ,tR110,
01468     tR111, tR112, tR113, tR114, tR115, tR116, tR117, tR118, tR119 ,tR120,
01469     tR121, tR122, tR123, tR124, tR125, tR126, tR127, tR128, tR129 ,tR130,
01470     tR131, tR132, tR133, tR134, tR135, tR136, tR137, tR138, tR139 ,tR140,
01471     tR141, tR142, tR143, tR144, tR145, tR146, tR147, tR148, tR149 ,tR150,
01472     tR151, tR152, tR153, tR154, tR155, tR156, tR157, tR158, tR159 ,tR160,
01473     tR161, tR162, tR163, tR164, tR165, tR166, tR167, tR168, tR169 ,tR170,
01474     tR171, tR172, tR173, tR174, tR175, tR176, tR177, tR178, tR179 ,tR180,
01475     tR181, tR182, tR183, tR184, tR185, tR186, tR187, tR188, tR189 ,tR190,
01476     tR191, tR192, tR193, tR194, tR195, tR196, tR197, tR198, tR199 ,tR200,
01477     tR201, tR202, tR203, tR204, tR205, tR206, tR207, tR208, tR209 ,tR210,
01478     tR211, tR212, tR213, tR214, tR215, tR216, tR217, tR218, tR219 ,tR220,
01479     tR221, tR222, tR223, tR224, tR225, tR226, tR227, tR228, tR229 ,tR230,
01480     tR231, tR232, tR233};
01481 
01482   /*
01483   // The following are differences in the Source tube positions(not used so far)
01484   // *** At present for all widgets the F01 is used (@@ to be developed M.K.)
01485   static const int nS=31;      // a # of the source tubes in the widget 
01486   // 0 - H(Long), 1 - E(Short)
01487   //                                                1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
01488   //                        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
01489   //                        A B A B A B                 A B   A B A B A B
01490   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};
01491   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};
01492   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};
01493   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};
01494   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};
01495   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};
01496   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};
01497   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};
01498   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};
01499   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};
01500   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};
01501   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};
01502   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};
01503   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};
01504   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};
01505   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};
01506   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};
01507   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};
01508 
01509   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};
01510   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};
01511   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};
01512   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};
01513   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};
01514   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};
01515   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};
01516   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};
01517   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};
01518   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};
01519   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};
01520   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};
01521   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};
01522   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};
01523   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};
01524   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};
01525   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};
01526   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};
01527   */
01528 
01529   static const double cellSize = 0.5*CLHEP::cm;  // 0.5 cm is the cell size
01530   if (!(xl > 0.))
01531     xl=-xl;
01532   double     fx=xl/cellSize;
01533   int ny=static_cast<int>((yl-yMin)/cellSize);   // Layer number (starting from 0)
01534   if (ny < 0 || ny >= nLay) // Sould never happen as was checked beforehand
01535   {
01536 #ifdef DebugLog
01537     edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
01538                              << "check limits y = " << yl << ", nL=" << nLay;
01539 #endif
01540     return 0;
01541   }
01542   int nx=static_cast<int>(fx);           // Cell number (starting from 0)
01543 #ifdef mkodebug
01544   double phist=atan2(xl, yl)/CLHEP::deg;
01545   if(sqr(mX-xv)+sqr(mY-yv)+sqr(mZ-zv) > 9.)
01546   {
01547     std::cout<<"HFFibreFiducial::PMTNumber:X="<<xv<<",Y="<<yv<<",Z="<<zv<<",fX="<<fx
01548              <<"->nX="<<nx<<",nY="<<ny<<",mX="<<nSL[ny]<<",x="<<xl<<",y="<<yl<<",s="
01549              <<cellSize<<",nW="<<nwid<<",phi="<<phi/CLHEP::deg<<",phist="<<phist
01550              <<",phir="<<phir/CLHEP::deg<<std::endl;
01551     mX=xv;
01552     mY=yv;
01553     mZ=zv;
01554   }
01555 #endif
01556 #ifdef DebugLog
01557   double phis=atan2(xl, yl)/CLHEP::deg;
01558   edm::LogInfo("HFShower") << "HFFibreFiducial::PMTNumber:X = " << xv 
01559       << ", Y = " << yv << ", Z = " << zv << ", fX = "
01560       << fx << "-> nX = " << nx << ", nY = " << ny 
01561       << ", mX = " << nSL[ny] << ", x = " << xl << ", y = "
01562       << yl << ", s = " << cellSize << ", nW = "
01563       << nwid << ", phi = " << phi/CLHEP::deg 
01564       << ", phis = " << phis << ", phir = "
01565       << phir/CLHEP::deg;
01566 #endif
01567   if (nx >= nSL[ny])
01568   {
01569 #ifdef DebugLog
01570     edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::nx/ny (" << nx 
01571                              << "," << ny <<") " << " above limit " << nSL[ny];
01572 #endif
01573     return 0;                           // ===> out of the acceptance
01574   }
01575   int code=0;                           // a prototype
01576   if (left) code=nLT[ny][nx];
01577   else      code=nRT[ny][nx];
01578   int flag= code%10;
01579   int npmt= code/10;
01580   bool src= false;                       // by default: not a source-tube
01581 #ifdef DebugLog
01582   edm::LogInfo("HFShower") << "HFFibreFiducial::nx/ny (" << nx << ","
01583                            << ny << ") code/flag/npmt " <<  code << "/" << flag
01584                            << "/" << npmt;
01585 #endif
01586   if (!flag) return 0;                   // ===> no fiber in the cell
01587   else if (flag==1) npmt += 24;
01588   else if (flag==3 || flag==4) {
01589     flag-=2;
01590     src=true;
01591   }
01592 #ifdef DebugLog
01593   edm::LogInfo("HFShower") << "HFFibreFiducial::PMTNumber: src = " << src 
01594                            << ", npmt =" << npmt;
01595 #endif
01596   if (src) return -npmt;                 // return the negative number for the source
01597   return npmt;
01598 } // End of PMTNumber