00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 #include "G4QNeutronCaptureRatio.hh"
00045 #include "G4SystemOfUnits.hh"
00046
00047
00048 G4QNeutronCaptureRatio* G4QNeutronCaptureRatio::GetPointer()
00049 {
00050 static G4QNeutronCaptureRatio theRatios;
00051 return &theRatios;
00052 }
00053
00054
00055 G4double G4QNeutronCaptureRatio::GetRatio(G4double pIU, G4int tgZ, G4int tgN)
00056 {
00057
00058 static const G4int npp=100;
00059 static const G4int mpp=npp+1;
00060 static const G4double pma=6.;
00061 static const G4double dp=pma/npp;
00062 static const G4int nls=150;
00063 static const G4int mls=nls+1;
00064 static const G4double lpi=1.79;
00065 static const G4double lpa=8.;
00066 static const G4double mi=std::exp(lpi);
00067 static const G4double max_s=std::exp(lpa);
00068 static const G4double dl=(lpa-lpi)/nls;
00069 static const G4double edl=std::exp(dl);
00070 static const G4double toler=.0001;
00071 static G4double lastP=0.;
00072 static G4double lastR=0.;
00073
00074 static std::vector<G4int> vZ;
00075 static std::vector<G4int> vN;
00076 static std::vector<G4double> vH;
00077 static std::vector<G4int> vJ;
00078 static std::vector<G4double> vM;
00079 static std::vector<G4int> vK;
00080 static std::vector<G4double*> vT;
00081 static std::vector<G4double*> vL;
00082
00083 static G4int lastZ=0;
00084 static G4int lastN=0;
00085 static G4double lastH=0.;
00086 static G4int lastJ=0;
00087 static G4double lastM=0.;
00088 static G4int lastK=0;
00089 static G4double* lastT=0;
00090 static G4double* lastL=0;
00091
00092 G4int A=tgN+tgZ;
00093 if(pIU > 50) return 0.;
00094 if(pIU > 30 && ((tgN==1 && tgZ==1) || (tgN==8 && tgZ==7))) return 0.;
00095 if(pIU > 20 && tgN==2 && tgZ==1) return 0.;
00096 if(pIU > 15 && ((tgN==1 && tgZ==2) || (tgN==8 && tgZ==8))) return 0.;
00097 if(pIU<toler || A<1) return 1.;
00098 if(A>247)
00099 {
00100 G4cout<<"-*-Warning-*-G4NeutronCaptureRatio::GetRatio:A="<<A<<">247, return 0"<<G4endl;
00101 return 0.;
00102 }
00103 G4int nDB=vZ.size();
00104 if(nDB && lastZ==tgZ && lastN==tgN && std::fabs(pIU-lastP)<toler) return lastR;
00105 if(pIU>max_s)
00106 {
00107 lastR=CalcCap2In_Ratio(s,tgZ,tgN);
00108 return lastR;
00109 }
00110 G4bool found=false;
00111 G4int i=-1;
00112 if(nDB) for (i=0; i<nDB; i++) if(tgZ==vZ[i] && tgN==vN[i])
00113 {
00114 found=true;
00115 break;
00116 }
00117 if(!nDB || !found)
00118 {
00119 lastZ = tgZ;
00120 lastN = tgN;
00121 lastT = new G4double[mpp];
00122 lastJ = static_cast<int>(pIU/dp)+1;
00123 if(lastJ>npp)
00124 {
00125 lastJ=npp;
00126 lastH=pma;
00127 }
00128 else lastH = lastJ*dp;
00129 G4double pv=0;
00130 lastT[0]=1.;
00131 for(G4int j=1; j<=lastJ; j++)
00132 {
00133 pv+=dp;
00134 lastT[j]=CalcCap2In_Ratio(pv,tgZ,tgN);
00135 }
00136 lastL=new G4double[mls];
00137 G4double ls=std::log(s);
00138 lastK = static_cast<int>((ls-lpi)/dl)+1;
00139 if(lastK>nls)
00140 {
00141 lastK=nls;
00142 lastM=lpa-lpi;
00143 }
00144 else lastM = lastK*dl;
00145 pv=mi;
00146 for(G4int j=0; j<=lastK; j++)
00147 {
00148 lastL[j]=CalcCap2In_Ratio(pv,tgZ,tgN);
00149 if(j!=lastK) pv*=edl;
00150 }
00151 i++;
00152 vZ.push_back(lastZ);
00153 vN.push_back(lastN);
00154 vH.push_back(lastH);
00155 vJ.push_back(lastJ);
00156 vM.push_back(lastM);
00157 vK.push_back(lastK);
00158 vT.push_back(lastT);
00159 vL.push_back(lastL);
00160 }
00161 else
00162 {
00163 lastZ=vZ[i];
00164 lastN=vN[i];
00165 lastH=vH[i];
00166 lastJ=vJ[i];
00167 lastM=vM[i];
00168 lastK=vK[i];
00169 lastT=vT[i];
00170 lastL=vL[i];
00171 if(s>lastH)
00172 {
00173 G4int nextN=lastJ+1;
00174 if(lastJ<npp)
00175 {
00176 lastJ = static_cast<int>(pIU/dp)+1;
00177 G4double pv=lastH;
00178 if(lastJ>npp)
00179 {
00180 lastJ=npp;
00181 lastH=pma;
00182 }
00183 else lastH = lastJ*dp;
00184 for(G4int j=nextN; j<=lastJ; j++)
00185 {
00186 pv+=dp;
00187 lastT[j]=CalcCap2In_Ratio(pv,tgZ,tgN);
00188 }
00189 }
00190 if(lastJ>=nextN)
00191 {
00192 vH[i]=lastH;
00193 vJ[i]=lastJ;
00194 }
00195 G4int nextK=lastK+1;
00196 if(pIU>pma && lastK<nls)
00197 {
00198 G4double pv=std::exp(lastM+lpi);
00199 G4double ls=std::log(s);
00200 lastK = static_cast<int>((ls-lpi)/dl)+1;
00201 if(lastK>nls)
00202 {
00203 lastK=nls;
00204 lastM=lpa-lpi;
00205 }
00206 else lastM = lastK*dl;
00207 for(G4int j=nextK; j<=lastK; j++)
00208 {
00209 pv*=edl;
00210 lastL[j]=CalcCap2In_Ratio(pv,tgZ,tgN);
00211 }
00212 }
00213 if(lastK>=nextK)
00214 {
00215 vM[i]=lastM;
00216 vK[i]=lastK;
00217 }
00218 }
00219 }
00220
00221 if(pIU<pma)
00222 {
00223 G4int n=static_cast<int>(pIU/dp);
00224 G4double d=s-n*dp;
00225 G4double v=lastT[n];
00226 lastR=v+d*(lastT[n+1]-v)/dp;
00227 }
00228 else
00229 {
00230 G4double ls=std::log(pIU)-lpi;
00231 G4int n=static_cast<int>(ls/dl);
00232 G4double d=ls-n*dl;
00233 G4double v=lastL[n];
00234 lastR=v+d*(lastL[n+1]-v)/dl;
00235 }
00236 if(lastR<0.) lastR=0.;
00237 if(lastR>1.) lastR=1.;
00238 return lastR;
00239 }
00240
00241
00242 G4double G4QNeutronCaptureRatio::CalcCap2In_Ratio(G4double p, G4int Z, G4int N)
00243 {
00244
00245 static const G4int N0=1;
00246 static const G4double pZ0N1[5]={.0001, 40., 0., 0., 1.};
00247 static const std::pair<G4int, const G4double*> Z0N1(1,pZ0N1);
00248 static const std::pair<G4int, const G4double*> Z0[N0]={Z0N1};
00249
00250 static const G4int N1=2;
00251 static const G4double pZ1N1[5]={.07, 40., .0006, .0001, .01};
00252 static const std::pair<G4int, const G4double*> Z1N1(1,pZ1N1);
00253 static const G4double pZ1N2[5]={.0001, 40., 0., 0., 1.};
00254 static const std::pair<G4int, const G4double*> Z1N2(2,pZ1N2);
00255 static const std::pair<G4int, const G4double*> Z1[N1]={Z1N1, Z1N2};
00256
00257 static const G4int N2=2;
00258 static const G4double pZ2N1[5]={.1, 40., 0., 0., 1.};
00259 static const std::pair<G4int, const G4double*> Z2N1(1,pZ2N1);
00260 static const G4double pZ2N2[5]={.0001, 40., 0., 0., 1.};
00261 static const std::pair<G4int, const G4double*> Z2N2(2,pZ2N2);
00262 static const std::pair<G4int, const G4double*> Z2[N2]={Z2N1, Z2N2};
00263
00264 static const G4int N3=2;
00265 static const G4double pZ3N3[5]={.001, 40., 3.E-5, .0001, .1};
00266 static const std::pair<G4int, const G4double*> Z3N1(3,pZ3N3);
00267 static const G4double pZ3N4[5]={.022, 19., 3.E-5, .0001, .04};
00268 static const std::pair<G4int, const G4double*> Z3N2(4,pZ3N4);
00269 static const std::pair<G4int, const G4double*> Z3[N3]={Z3N1, Z3N2};
00270
00271 static const G4int N4=1;
00272 static const G4double pZ4N5[5]={.0004, 40., 0., 0., 1.};
00273 static const std::pair<G4int, const G4double*> Z4N5(5,pZ4N5);
00274 static const std::pair<G4int, const G4double*> Z4[N4]={Z4N5};
00275
00276 static const G4int N5=2;
00277 static const G4double pZ5N5[5]={.011, 9., .0002, .0001, .002};
00278 static const std::pair<G4int, const G4double*> Z5N5(5,pZ5N5);
00279 static const G4double pZ5N6[5]={.027, 9., 0., 0., 1.};
00280 static const std::pair<G4int, const G4double*> Z5N6(6,pZ5N6);
00281 static const std::pair<G4int, const G4double*> Z5[N5]={Z5N5, Z5N6};
00282
00283 static const G4int N6=2;
00284 static const G4double pZ6N6[5]={.08, 40., .0003, .0001, .07};
00285 static const std::pair<G4int, const G4double*> Z6N6(6,pZ6N6);
00286 static const G4double pZ6N7[5]={.08, 40., .0003, .0001, .07};
00287 static const std::pair<G4int, const G4double*> Z6N7(7,pZ6N7);
00288 static const std::pair<G4int, const G4double*> Z6[N6]={Z6N6, Z6N7};
00289
00290 static const G4int N7=2;
00291 static const G4double pZ7N7[5]={.005, 3., 0., 0., 1.};
00292 static const std::pair<G4int, const G4double*> Z7N7(7,pZ7N7);
00293 static const G4double pZ7N8[5]={.084, 40., .0001, .0001, .015};
00294 static const std::pair<G4int, const G4double*> Z7N8(8,pZ7N8);
00295 static const std::pair<G4int, const G4double*> Z7[N7]={Z7N7, Z7N8};
00296
00297 static const G4int N8=3;
00298 static const G4double pZ8N8[5]={.08, 40., 0., 0., 1.};
00299 static const std::pair<G4int, const G4double*> Z8N8(8,pZ8N8);
00300 static const G4double pZ8N9[5]={.0065, 5., .0013, .0001, .02};
00301 static const std::pair<G4int, const G4double*> Z8N9(9,pZ8N9);
00302 static const G4double pZ8N10[5]={.01, 27., 0., 0., 1.};
00303 static const std::pair<G4int, const G4double*> Z8N10(10,pZ8N10);
00304 static const std::pair<G4int, const G4double*> Z8[N8]={Z8N8, Z8N9, Z8N10};
00305
00306 static const G4int N9=1;
00307 static const G4double pZ9N10[5]={.013, 27., .0001, .0001, .02};
00308 static const std::pair<G4int, const G4double*> Z9N10(10,pZ9N10);
00309 static const std::pair<G4int, const G4double*> Z9[N9]={Z9N10};
00310
00311 static const G4int N10=3;
00312 static const G4double pZ10N10[5]={.01, 27., 0., 0., 1.};
00313 static const std::pair<G4int, const G4double*> Z10N10(10,pZ10N10);
00314 static const G4double pZ10N11[5]={.01, 27., 0., 0., 1.};
00315 static const std::pair<G4int, const G4double*> Z10N11(11,pZ10N11);
00316 static const G4double pZ10N12[5]={.01, 27., 0., 0., 1.};
00317 static const std::pair<G4int, const G4double*> Z10N12(12,pZ10N12);
00318 static const std::pair<G4int, const G4double*> Z10[N10]={Z10N10, Z10N11, Z10N12};
00319
00320 static const G4int N11=1;
00321 static const G4double pZ11N12[5]={.024, 17., .0005, .0001, .03};
00322 static const std::pair<G4int, const G4double*> Z11N12(12,pZ11N12);
00323 static const std::pair<G4int, const G4double*> Z11[N11]={Z11N12};
00324
00325 static const G4int N12=3;
00326 static const G4double pZ12N12[5]={.045, 40., .0003, .0001, .02};
00327 static const std::pair<G4int, const G4double*> Z12N12(12,pZ12N12);
00328 static const G4double pZ12N13[5]={.019, 7., .0002, .0001, .01};
00329 static const std::pair<G4int, const G4double*> Z12N13(13,pZ12N13);
00330 static const G4double pZ12N14[5]={.053, 40., .0006, .0001, .007};
00331 static const std::pair<G4int, const G4double*> Z12N14(14,pZ12N14);
00332 static const std::pair<G4int, const G4double*> Z12[N12]={Z12N12, Z12N13, Z12N14};
00333
00334 static const G4int N13=1;
00335 static const G4double pZ13N14[5]={.035, 17., .001, .03, 1.};
00336 static const std::pair<G4int, const G4double*> Z13N14(14,pZ13N14);
00337 static const std::pair<G4int, const G4double*> Z13[N13]={Z13N14};
00338
00339 static const G4int N14=3;
00340 static const G4double pZ14N14[5]={.052, 40., .002, .0001, .008};
00341 static const std::pair<G4int, const G4double*> Z14N14(14,pZ14N14);
00342 static const G4double pZ14N15[5]={.048, 40., .0001, .0004, .02};
00343 static const std::pair<G4int, const G4double*> Z14N15(15,pZ14N15);
00344 static const G4double pZ14N16[5]={.06, 40., .0015, .0001, .01};
00345 static const std::pair<G4int, const G4double*> Z14N16(16,pZ14N16);
00346 static const std::pair<G4int, const G4double*> Z14[N14]={Z14N14, Z14N15, Z14N16};
00347
00348 static const G4int N15=1;
00349 static const G4double pZ15N16[5]={.024, 7., .0008, .0001, .03};
00350 static const std::pair<G4int, const G4double*> Z15N16(16,pZ15N16);
00351 static const std::pair<G4int, const G4double*> Z15[N15]={Z15N16};
00352
00353 static const G4int N16=4;
00354 static const G4double pZ16N16[5]={.036, 12., .0003, .03, .004};
00355 static const std::pair<G4int, const G4double*> Z16N16(16,pZ16N16);
00356 static const G4double pZ16N17[5]={.018, 40., .0033, .0001, .002};
00357 static const std::pair<G4int, const G4double*> Z16N17(17,pZ16N17);
00358 static const G4double pZ16N18[5]={.053, 25., .002, .0001, .0043};
00359 static const std::pair<G4int, const G4double*> Z16N18(18,pZ16N18);
00360 static const G4double pZ16N20[5]={.065, 25., .002, .0001, .0043};
00361 static const std::pair<G4int, const G4double*> Z16N20(20,pZ16N20);
00362 static const std::pair<G4int, const G4double*> Z16[N16]={Z16N16, Z16N17, Z16N18, Z16N20};
00363
00364 static const G4int N17=2;
00365 static const G4double pZ17N18[5]={.014, 4., .0004, .175, .002};
00366 static const std::pair<G4int, const G4double*> Z17N18(18,pZ17N18);
00367 static const G4double pZ17N20[5]={.035, 8., .008, 18., .0005};
00368 static const std::pair<G4int, const G4double*> Z17N20(20,pZ17N20);
00369 static const std::pair<G4int, const G4double*> Z17[N17]={Z17N18, Z17N20};
00370
00371 static const G4int N18=3;
00372 static const G4double pZ18N18[5]={.036, 8., .0005, .1, .01};
00373 static const std::pair<G4int, const G4double*> Z18N18(18,pZ18N18);
00374 static const G4double pZ18N20[5]={.025, 6., .0027, .19, .0003};
00375 static const std::pair<G4int, const G4double*> Z18N20(20,pZ18N20);
00376 static const G4double pZ18N22[5]={.028, 6., .001, .19, .0003};
00377 static const std::pair<G4int, const G4double*> Z18N22(22,pZ18N22);
00378 static const std::pair<G4int, const G4double*> Z18[N18]={Z18N18, Z18N20, Z18N22};
00379
00380 static const G4int N19=3;
00381 static const G4double pZ19N20[5]={.04, 8., 0., 0., 1.};
00382 static const std::pair<G4int, const G4double*> Z19N20(20,pZ19N20);
00383 static const G4double pZ19N21[5]={.049, 5., 0., 0., 1.};
00384 static const std::pair<G4int, const G4double*> Z19N21(21,pZ19N21);
00385 static const G4double pZ19N22[5]={.04, 11., .005, .0001, .005};
00386 static const std::pair<G4int, const G4double*> Z19N22(22,pZ19N22);
00387 static const std::pair<G4int, const G4double*> Z19[N19]={Z19N20, Z19N21, Z19N22};
00388
00389 static const G4int N20=6;
00390 static const G4double pZ20N20[5]={.05, 14., .0006, .09, .009};
00391 static const std::pair<G4int, const G4double*> Z20N20(20,pZ20N20);
00392 static const G4double pZ20N22[5]={.047, 30., .003, .0001, .014};
00393 static const std::pair<G4int, const G4double*> Z20N22(22,pZ20N22);
00394 static const G4double pZ20N23[5]={.01, 3.5, .0015, .16, .002};
00395 static const std::pair<G4int, const G4double*> Z20N23(23,pZ20N23);
00396 static const G4double pZ20N24[5]={.04, 30., .002, .0001, .008};
00397 static const std::pair<G4int, const G4double*> Z20N24(24,pZ20N24);
00398 static const G4double pZ20N26[5]={.044, 40., .001, .0001, .01};
00399 static const std::pair<G4int, const G4double*> Z20N26(26,pZ20N26);
00400 static const G4double pZ20N28[5]={.055, 14., .001, .18, .001};
00401 static const std::pair<G4int, const G4double*> Z20N28(28,pZ20N28);
00402 static const std::pair<G4int, const G4double*> Z20[N20]={Z20N20, Z20N22, Z20N23,
00403 Z20N24, Z20N26, Z20N28};
00404
00405 static const G4int N21=1;
00406 static const G4double pZ21N24[5]={.014, 4., 0., 0., 1.};
00407 static const std::pair<G4int, const G4double*> Z21N24(24,pZ21N24);
00408 static const std::pair<G4int, const G4double*> Z21[N21]={Z21N24};
00409
00410 static const G4int N22=5;
00411 static const G4double pZ22N24[5]={.036, 27., .007, .0001, .005};
00412 static const std::pair<G4int, const G4double*> Z22N24(24,pZ22N24);
00413 static const G4double pZ22N25[5]={.013, 9., .017, .0001, .005};
00414 static const std::pair<G4int, const G4double*> Z22N25(25,pZ22N25);
00415 static const G4double pZ22N26[5]={.043, 40., .002, .0001, .01};
00416 static const std::pair<G4int, const G4double*> Z22N26(26,pZ22N26);
00417 static const G4double pZ22N27[5]={.047, 30., .007, .0001, .01};
00418 static const std::pair<G4int, const G4double*> Z22N27(27,pZ22N27);
00419 static const G4double pZ22N28[5]={.052, 40., .0005, .0001, .01};
00420 static const std::pair<G4int, const G4double*> Z22N28(28,pZ22N28);
00421 static const std::pair<G4int, const G4double*> Z22[N22]={Z22N24, Z22N25, Z22N26,
00422 Z22N27, Z22N28};
00423
00424 static const G4int N23=2;
00425 static const G4double pZ23N27[5]={.023, 30., .01, .0001, .003};
00426 static const std::pair<G4int, const G4double*> Z23N27(27,pZ23N27);
00427 static const G4double pZ23N28[5]={.023, 30., .01, .0001, .003};
00428 static const std::pair<G4int, const G4double*> Z23N28(28,pZ23N28);
00429 static const std::pair<G4int, const G4double*> Z23[N23]={Z23N27, Z23N28};
00430
00431 static const G4int N24=4;
00432 static const G4double pZ24N26[5]={.035, 27., .004, .0001, .01};
00433 static const std::pair<G4int, const G4double*> Z24N26(26,pZ24N26);
00434 static const G4double pZ24N28[5]={.049, 40., .001, .0001, .016};
00435 static const std::pair<G4int, const G4double*> Z24N28(28,pZ24N28);
00436 static const G4double pZ24N29[5]={.032, 30., .005, .0001, .005};
00437 static const std::pair<G4int, const G4double*> Z24N29(29,pZ24N29);
00438 static const G4double pZ24N30[5]={.034, 30., .002, .0001, .008};
00439 static const std::pair<G4int, const G4double*> Z24N30(30,pZ24N30);
00440 static const std::pair<G4int, const G4double*> Z24[N24]={Z24N26, Z24N28, Z24N29, Z24N30};
00441
00442 static const G4int N25=1;
00443 static const G4double pZ25N30[5]={.0145, 10., .01, .0001, .003};
00444 static const std::pair<G4int, const G4double*> Z25N30(30,pZ25N30);
00445 static const std::pair<G4int, const G4double*> Z25[N25]={Z25N30};
00446
00447 static const G4int N26=4;
00448 static const G4double pZ26N28[5]={.048, 27., .0016, .0001, .016};
00449 static const std::pair<G4int, const G4double*> Z26N28(28,pZ26N28);
00450 static const G4double pZ26N30[5]={.036, 27., .004, .0001, .006};
00451 static const std::pair<G4int, const G4double*> Z26N30(30,pZ26N30);
00452 static const G4double pZ26N31[5]={.036, 27., .005, .0001, .005};
00453 static const std::pair<G4int, const G4double*> Z26N31(31,pZ26N31);
00454 static const G4double pZ26N32[5]={.036, 27., .005, .0001, .007};
00455 static const std::pair<G4int, const G4double*> Z26N32(32,pZ26N32);
00456 static const std::pair<G4int, const G4double*> Z26[N26]={Z26N28, Z26N30, Z26N31, Z26N32};
00457
00458 static const G4int N27=1;
00459 static const G4double pZ27N32[5]={.044, 22., .002, .0001, .016};
00460 static const std::pair<G4int, const G4double*> Z27N32(32,pZ27N32);
00461 static const std::pair<G4int, const G4double*> Z27[N27]={Z27N32};
00462
00463 static const G4int N28=5;
00464 static const G4double pZ28N30[5]={.045, 20., .003, .0001, .01};
00465 static const std::pair<G4int, const G4double*> Z28N30(30,pZ28N30);
00466 static const G4double pZ28N32[5]={.046, 20., .016, .0001, .01};
00467 static const std::pair<G4int, const G4double*> Z28N32(32,pZ28N32);
00468 static const G4double pZ28N33[5]={.046, 20., .016, .0001, .01};
00469 static const std::pair<G4int, const G4double*> Z28N33(33,pZ28N33);
00470 static const G4double pZ28N34[5]={.045, 20., .005, .0001, .007};
00471 static const std::pair<G4int, const G4double*> Z28N34(34,pZ28N34);
00472 static const G4double pZ28N36[5]={.045, 20., .005, .0001, .007};
00473 static const std::pair<G4int, const G4double*> Z28N36(36,pZ28N36);
00474 static const std::pair<G4int, const G4double*> Z28[N28]={Z28N30, Z28N32, Z28N33,
00475 Z28N34, Z28N36};
00476
00477 static const G4int N29=2;
00478 static const G4double pZ29N34[5]={.035, 15., .008, .0001, .015};
00479 static const std::pair<G4int, const G4double*> Z29N34(34,pZ29N34);
00480 static const G4double pZ29N36[5]={.036, 15., .003, .0001, .013};
00481 static const std::pair<G4int, const G4double*> Z29N36(36,pZ29N36);
00482 static const std::pair<G4int, const G4double*> Z29[N29]={Z29N34, Z29N36};
00483
00484 static const G4int N30=5;
00485 static const G4double pZ30N34[5]={.041, 20., .008, .0001, .02};
00486 static const std::pair<G4int, const G4double*> Z30N34(34,pZ30N34);
00487 static const G4double pZ30N36[5]={.041, 20., .008, .0001, .02};
00488 static const std::pair<G4int, const G4double*> Z30N36(36,pZ30N36);
00489 static const G4double pZ30N37[5]={.041, 20., .008, .0001, .02};
00490 static const std::pair<G4int, const G4double*> Z30N37(37,pZ30N37);
00491 static const G4double pZ30N38[5]={.041, 20., .008, .0001, .02};
00492 static const std::pair<G4int, const G4double*> Z30N38(38,pZ30N38);
00493 static const G4double pZ30N40[5]={.041, 20., .008, .0001, .02};
00494 static const std::pair<G4int, const G4double*> Z30N40(40,pZ30N40);
00495 static const std::pair<G4int, const G4double*> Z30[N30]={Z30N34, Z30N36, Z30N37,
00496 Z30N38, Z30N40};
00497
00498 static const G4int N31=2;
00499 static const G4double pZ31N38[5]={.024, 7., .03, .01, .003};
00500 static const std::pair<G4int, const G4double*> Z31N38(38,pZ31N38);
00501 static const G4double pZ31N40[5]={.026, 9., .015, .01, .003};
00502 static const std::pair<G4int, const G4double*> Z31N40(40,pZ31N40);
00503 static const std::pair<G4int, const G4double*> Z31[N31]={Z31N38, Z31N40};
00504
00505 static const G4int N32=5;
00506 static const G4double pZ32N38[5]={.037, 12., .15, .025, .003};
00507 static const std::pair<G4int, const G4double*> Z32N38(38,pZ32N38);
00508 static const G4double pZ32N40[5]={.035, 20., .015, .01, .0035};
00509 static const std::pair<G4int, const G4double*> Z32N40(40,pZ32N40);
00510 static const G4double pZ32N41[5]={.009, 3., .02, .03, .0001};
00511 static const std::pair<G4int, const G4double*> Z32N41(41,pZ32N41);
00512 static const G4double pZ32N42[5]={.027, 12., .003, .0001, .01};
00513 static const std::pair<G4int, const G4double*> Z32N42(42,pZ32N42);
00514 static const G4double pZ32N44[5]={.031, 20., .025, .0005, .0045};
00515 static const std::pair<G4int, const G4double*> Z32N44(44,pZ32N44);
00516 static const std::pair<G4int, const G4double*> Z32[N32]={Z32N38, Z32N40, Z32N41,
00517 Z32N42, Z32N44};
00518
00519 static const G4int N33=1;
00520 static const G4double pZ33N42[5]={.017, 5., .004, .05, .006};
00521 static const std::pair<G4int, const G4double*> Z33N42(42,pZ33N42);
00522 static const std::pair<G4int, const G4double*> Z33[N33]={Z33N42};
00523
00524 static const G4int N34=6;
00525 static const G4double pZ34N40[5]={.018, 5., .1, .03, .002};
00526 static const std::pair<G4int, const G4double*> Z34N40(40,pZ34N40);
00527 static const G4double pZ34N42[5]={.018, 5., .1, .03, .002};
00528 static const std::pair<G4int, const G4double*> Z34N42(42,pZ34N42);
00529 static const G4double pZ34N43[5]={.018, 5., .1, .03, .002};
00530 static const std::pair<G4int, const G4double*> Z34N43(43,pZ34N43);
00531 static const G4double pZ34N44[5]={.018, 5., .1, .03, .002};
00532 static const std::pair<G4int, const G4double*> Z34N44(44,pZ34N44);
00533 static const G4double pZ34N46[5]={.018, 5., .1, .03, .002};
00534 static const std::pair<G4int, const G4double*> Z34N46(46,pZ34N46);
00535 static const G4double pZ34N48[5]={.018, 5., .1, .03, .002};
00536 static const std::pair<G4int, const G4double*> Z34N48(48,pZ34N48);
00537 static const std::pair<G4int, const G4double*> Z34[N34]={Z34N40, Z34N42, Z34N43,
00538 Z34N44, Z34N46, Z34N48};
00539
00540 static const G4int N35=2;
00541 static const G4double pZ35N44[5]={.018, 5., .1, .03, .002};
00542 static const std::pair<G4int, const G4double*> Z35N44(44,pZ35N44);
00543 static const G4double pZ35N46[5]={.018, 5., .1, .03, .002};
00544 static const std::pair<G4int, const G4double*> Z35N46(46,pZ35N46);
00545 static const std::pair<G4int, const G4double*> Z35[N35]={Z35N44, Z35N46};
00546
00547 static const G4int N36=6;
00548 static const G4double pZ36N42[5]={.018, 5., .1, .03, .002};
00549 static const std::pair<G4int, const G4double*> Z36N42(42,pZ36N42);
00550 static const G4double pZ36N44[5]={.018, 5., .1, .03, .002};
00551 static const std::pair<G4int, const G4double*> Z36N44(44,pZ36N44);
00552 static const G4double pZ36N46[5]={.018, 5., .1, .03, .002};
00553 static const std::pair<G4int, const G4double*> Z36N46(46,pZ36N46);
00554 static const G4double pZ36N47[5]={.018, 5., .1, .03, .002};
00555 static const std::pair<G4int, const G4double*> Z36N47(47,pZ36N47);
00556 static const G4double pZ36N48[5]={.018, 5., .1, .03, .002};
00557 static const std::pair<G4int, const G4double*> Z36N48(48,pZ36N48);
00558 static const G4double pZ36N50[5]={.018, 5., .1, .03, .002};
00559 static const std::pair<G4int, const G4double*> Z36N50(50,pZ36N50);
00560 static const std::pair<G4int, const G4double*> Z36[N36]={Z36N42, Z36N44, Z36N46,
00561 Z36N47, Z36N48, Z36N50};
00562
00563 static const G4int N37=2;
00564 static const G4double pZ37N48[5]={.018, 5., .1, .03, .002};
00565 static const std::pair<G4int, const G4double*> Z37N48(48,pZ37N48);
00566 static const G4double pZ37N50[5]={.018, 5., .1, .03, .002};
00567 static const std::pair<G4int, const G4double*> Z37N50(50,pZ37N50);
00568 static const std::pair<G4int, const G4double*> Z37[N37]={Z37N48, Z37N50};
00569
00570 static const G4int N38=4;
00571 static const G4double pZ38N46[5]={.018, 5., .1, .03, .002};
00572 static const std::pair<G4int, const G4double*> Z38N46(46,pZ38N46);
00573 static const G4double pZ38N48[5]={.018, 5., .1, .03, .002};
00574 static const std::pair<G4int, const G4double*> Z38N48(48,pZ38N48);
00575 static const G4double pZ38N49[5]={.018, 5., .1, .03, .002};
00576 static const std::pair<G4int, const G4double*> Z38N49(49,pZ38N49);
00577 static const G4double pZ38N50[5]={.018, 5., .1, .03, .002};
00578 static const std::pair<G4int, const G4double*> Z38N50(50,pZ38N50);
00579 static const std::pair<G4int, const G4double*> Z38[N38]={Z38N46, Z38N48, Z38N49, Z38N50};
00580
00581 static const G4int N39=1;
00582 static const G4double pZ39N50[5]={.018, 5., .1, .03, .002};
00583 static const std::pair<G4int, const G4double*> Z39N50(50,pZ39N50);
00584 static const std::pair<G4int, const G4double*> Z39[N39]={Z39N50};
00585
00586 static const G4int N40=5;
00587 static const G4double pZ40N50[5]={.018, 5., .1, .03, .002};
00588 static const std::pair<G4int, const G4double*> Z40N50(50,pZ40N50);
00589 static const G4double pZ40N51[5]={.018, 5., .1, .03, .002};
00590 static const std::pair<G4int, const G4double*> Z40N51(51,pZ40N51);
00591 static const G4double pZ40N52[5]={.018, 5., .1, .03, .002};
00592 static const std::pair<G4int, const G4double*> Z40N52(52,pZ40N52);
00593 static const G4double pZ40N54[5]={.018, 5., .1, .03, .002};
00594 static const std::pair<G4int, const G4double*> Z40N54(54,pZ40N54);
00595 static const G4double pZ40N56[5]={.018, 5., .1, .03, .002};
00596 static const std::pair<G4int, const G4double*> Z40N56(56,pZ40N56);
00597 static const std::pair<G4int, const G4double*> Z40[N40]={Z40N50, Z40N51, Z40N52,
00598 Z40N54, Z40N56};
00599
00600 static const G4int N41=1;
00601 static const G4double pZ41N52[5]={.018, 5., .1, .03, .002};
00602 static const std::pair<G4int, const G4double*> Z41N52(52,pZ41N52);
00603 static const std::pair<G4int, const G4double*> Z41[N41]={Z41N52};
00604
00605 static const G4int N42=7;
00606 static const G4double pZ42N50[5]={.018, 5., .1, .03, .002};
00607 static const std::pair<G4int, const G4double*> Z42N50(50,pZ42N50);
00608 static const G4double pZ42N52[5]={.018, 5., .1, .03, .002};
00609 static const std::pair<G4int, const G4double*> Z42N52(52,pZ42N52);
00610 static const G4double pZ42N53[5]={.018, 5., .1, .03, .002};
00611 static const std::pair<G4int, const G4double*> Z42N53(53,pZ42N53);
00612 static const G4double pZ42N54[5]={.018, 5., .1, .03, .002};
00613 static const std::pair<G4int, const G4double*> Z42N54(54,pZ42N54);
00614 static const G4double pZ42N55[5]={.018, 5., .1, .03, .002};
00615 static const std::pair<G4int, const G4double*> Z42N55(55,pZ42N55);
00616 static const G4double pZ42N56[5]={.018, 5., .1, .03, .002};
00617 static const std::pair<G4int, const G4double*> Z42N56(56,pZ42N56);
00618 static const G4double pZ42N58[5]={.018, 5., .1, .03, .002};
00619 static const std::pair<G4int, const G4double*> Z42N58(58,pZ42N58);
00620 static const std::pair<G4int, const G4double*> Z42[N42]={Z42N50, Z42N52, Z42N53, Z42N54,
00621 Z42N55, Z42N56, Z42N58};
00622
00623 static const G4int N43=1;
00624 static const G4double pZ43N0[5]={.018, 5., .1, .03, .002};
00625 static const std::pair<G4int, const G4double*> Z43N0(0,pZ43N0);
00626 static const std::pair<G4int, const G4double*> Z43[N43]={Z43N0};
00627
00628 static const G4int N44=7;
00629 static const G4double pZ44N52[5]={.018, 5., .1, .03, .002};
00630 static const std::pair<G4int, const G4double*> Z44N52(52,pZ44N52);
00631 static const G4double pZ44N54[5]={.018, 5., .1, .03, .002};
00632 static const std::pair<G4int, const G4double*> Z44N54(54,pZ44N54);
00633 static const G4double pZ44N55[5]={.018, 5., .1, .03, .002};
00634 static const std::pair<G4int, const G4double*> Z44N55(55,pZ44N55);
00635 static const G4double pZ44N56[5]={.018, 5., .1, .03, .002};
00636 static const std::pair<G4int, const G4double*> Z44N56(56,pZ44N56);
00637 static const G4double pZ44N57[5]={.018, 5., .1, .03, .002};
00638 static const std::pair<G4int, const G4double*> Z44N57(57,pZ44N57);
00639 static const G4double pZ44N58[5]={.018, 5., .1, .03, .002};
00640 static const std::pair<G4int, const G4double*> Z44N58(58,pZ44N58);
00641 static const G4double pZ44N60[5]={.018, 5., .1, .03, .002};
00642 static const std::pair<G4int, const G4double*> Z44N60(60,pZ44N60);
00643 static const std::pair<G4int, const G4double*> Z44[N44]={Z44N52, Z44N54, Z44N55, Z44N56,
00644 Z44N57, Z44N58, Z44N60};
00645
00646 static const G4int N45=1;
00647 static const G4double pZ45N58[5]={.018, 5., .1, .03, .002};
00648 static const std::pair<G4int, const G4double*> Z45N58(58,pZ45N58);
00649 static const std::pair<G4int, const G4double*> Z45[N45]={Z45N58};
00650
00651 static const G4int N46=6;
00652 static const G4double pZ46N56[5]={.018, 5., .1, .03, .002};
00653 static const std::pair<G4int, const G4double*> Z46N56(56,pZ46N56);
00654 static const G4double pZ46N58[5]={.018, 5., .1, .03, .002};
00655 static const std::pair<G4int, const G4double*> Z46N58(58,pZ46N58);
00656 static const G4double pZ46N59[5]={.018, 5., .1, .03, .002};
00657 static const std::pair<G4int, const G4double*> Z46N59(59,pZ46N59);
00658 static const G4double pZ46N60[5]={.018, 5., .1, .03, .002};
00659 static const std::pair<G4int, const G4double*> Z46N60(60,pZ46N60);
00660 static const G4double pZ46N62[5]={.018, 5., .1, .03, .002};
00661 static const std::pair<G4int, const G4double*> Z46N62(62,pZ46N62);
00662 static const G4double pZ46N64[5]={.018, 5., .1, .03, .002};
00663 static const std::pair<G4int, const G4double*> Z46N64(64,pZ46N64);
00664 static const std::pair<G4int, const G4double*> Z46[N46]={Z46N56, Z46N58, Z46N59,
00665 Z46N60, Z46N62, Z46N64};
00666
00667 static const G4int N47=2;
00668 static const G4double pZ47N60[5]={.018, 5., .1, .004, .003};
00669 static const std::pair<G4int, const G4double*> Z47N60(60,pZ47N60);
00670 static const G4double pZ47N62[5]={.018, 4., .015, .06, .0008};
00671 static const std::pair<G4int, const G4double*> Z47N62(62,pZ47N62);
00672 static const std::pair<G4int, const G4double*> Z47[N47]={Z47N60, Z47N62};
00673
00674 static const G4int N48=8;
00675 static const G4double pZ48N58[5]={.018, 5., .1, .03, .002};
00676 static const std::pair<G4int, const G4double*> Z48N58(58,pZ48N58);
00677 static const G4double pZ48N60[5]={.018, 5., .1, .03, .002};
00678 static const std::pair<G4int, const G4double*> Z48N60(60,pZ48N60);
00679 static const G4double pZ48N62[5]={.018, 5., .1, .03, .002};
00680 static const std::pair<G4int, const G4double*> Z48N62(62,pZ48N62);
00681 static const G4double pZ48N63[5]={.018, 5., .1, .03, .002};
00682 static const std::pair<G4int, const G4double*> Z48N63(63,pZ48N63);
00683 static const G4double pZ48N64[5]={.018, 5., .1, .03, .002};
00684 static const std::pair<G4int, const G4double*> Z48N64(64,pZ48N64);
00685 static const G4double pZ48N65[5]={.018, 5., .1, .03, .002};
00686 static const std::pair<G4int, const G4double*> Z48N65(65,pZ48N65);
00687 static const G4double pZ48N66[5]={.018, 5., .1, .03, .002};
00688 static const std::pair<G4int, const G4double*> Z48N66(66,pZ48N66);
00689 static const G4double pZ48N68[5]={.018, 5., .1, .03, .002};
00690 static const std::pair<G4int, const G4double*> Z48N68(68,pZ48N68);
00691 static const std::pair<G4int, const G4double*> Z48[N48]={Z48N58, Z48N60, Z48N62, Z48N63,
00692 Z48N64, Z48N65, Z48N66, Z48N68};
00693
00694 static const G4int N49=2;
00695 static const G4double pZ49N64[5]={.018, 5., .1, .03, .002};
00696 static const std::pair<G4int, const G4double*> Z49N64(64,pZ49N64);
00697 static const G4double pZ49N66[5]={.018, 5., .1, .03, .002};
00698 static const std::pair<G4int, const G4double*> Z49N66(66,pZ49N66);
00699 static const std::pair<G4int, const G4double*> Z49[N49]={Z49N64, Z49N66};
00700
00701 static const G4int N50=10;
00702 static const G4double pZ50N62[5]={.018, 5., .1, .03, .002};
00703 static const std::pair<G4int, const G4double*> Z50N62(62,pZ50N62);
00704 static const G4double pZ50N64[5]={.018, 5., .1, .03, .002};
00705 static const std::pair<G4int, const G4double*> Z50N64(64,pZ50N64);
00706 static const G4double pZ50N65[5]={.018, 5., .1, .03, .002};
00707 static const std::pair<G4int, const G4double*> Z50N65(65,pZ50N65);
00708 static const G4double pZ50N66[5]={.018, 5., .1, .03, .002};
00709 static const std::pair<G4int, const G4double*> Z50N66(66,pZ50N66);
00710 static const G4double pZ50N67[5]={.018, 5., .1, .03, .002};
00711 static const std::pair<G4int, const G4double*> Z50N67(67,pZ50N67);
00712 static const G4double pZ50N68[5]={.018, 5., .1, .03, .002};
00713 static const std::pair<G4int, const G4double*> Z50N68(68,pZ50N68);
00714 static const G4double pZ50N69[5]={.018, 5., .1, .03, .002};
00715 static const std::pair<G4int, const G4double*> Z50N69(69,pZ50N69);
00716 static const G4double pZ50N70[5]={.018, 5., .1, .03, .002};
00717 static const std::pair<G4int, const G4double*> Z50N70(70,pZ50N70);
00718 static const G4double pZ50N72[5]={.018, 5., .1, .03, .002};
00719 static const std::pair<G4int, const G4double*> Z50N72(72,pZ50N72);
00720 static const G4double pZ50N74[5]={.018, 5., .1, .03, .002};
00721 static const std::pair<G4int, const G4double*> Z50N74(74,pZ50N74);
00722 static const std::pair<G4int, const G4double*> Z50[N50]={Z50N62, Z50N64, Z50N65, Z50N66,
00723 Z50N67, Z50N68, Z50N69, Z50N70,
00724 Z50N72, Z50N74};
00725
00726 static const G4int N51=2;
00727 static const G4double pZ51N70[5]={.018, 5., .1, .03, .002};
00728 static const std::pair<G4int, const G4double*> Z51N70(70,pZ51N70);
00729 static const G4double pZ51N72[5]={.018, 5., .1, .03, .002};
00730 static const std::pair<G4int, const G4double*> Z51N72(72,pZ51N72);
00731 static const std::pair<G4int, const G4double*> Z51[N51]={Z51N70, Z51N72};
00732
00733 static const G4int N52=8;
00734 static const G4double pZ52N68[5]={.018, 5., .1, .03, .002};
00735 static const std::pair<G4int, const G4double*> Z52N68(68,pZ52N68);
00736 static const G4double pZ52N70[5]={.018, 5., .1, .03, .002};
00737 static const std::pair<G4int, const G4double*> Z52N70(70,pZ52N70);
00738 static const G4double pZ52N71[5]={.018, 5., .1, .03, .002};
00739 static const std::pair<G4int, const G4double*> Z52N71(71,pZ52N71);
00740 static const G4double pZ52N72[5]={.018, 5., .1, .03, .002};
00741 static const std::pair<G4int, const G4double*> Z52N72(72,pZ52N72);
00742 static const G4double pZ52N73[5]={.018, 5., .1, .03, .002};
00743 static const std::pair<G4int, const G4double*> Z52N73(73,pZ52N73);
00744 static const G4double pZ52N74[5]={.018, 5., .1, .03, .002};
00745 static const std::pair<G4int, const G4double*> Z52N74(74,pZ52N74);
00746 static const G4double pZ52N76[5]={.018, 5., .1, .03, .002};
00747 static const std::pair<G4int, const G4double*> Z52N76(76,pZ52N76);
00748 static const G4double pZ52N78[5]={.018, 5., .1, .03, .002};
00749 static const std::pair<G4int, const G4double*> Z52N78(78,pZ52N78);
00750 static const std::pair<G4int, const G4double*> Z52[N52]={Z52N68, Z52N70, Z52N71, Z52N72,
00751 Z52N73, Z52N74, Z52N76, Z52N78};
00752
00753 static const G4int N53=1;
00754 static const G4double pZ53N74[5]={.018, 5., .1, .03, .002};
00755 static const std::pair<G4int, const G4double*> Z53N74(74,pZ53N74);
00756 static const std::pair<G4int, const G4double*> Z53[N53]={Z53N74};
00757
00758 static const G4int N54=9;
00759 static const G4double pZ54N70[5]={.018, 5., .1, .03, .002};
00760 static const std::pair<G4int, const G4double*> Z54N70(70,pZ54N70);
00761 static const G4double pZ54N72[5]={.018, 5., .1, .03, .002};
00762 static const std::pair<G4int, const G4double*> Z54N72(72,pZ54N72);
00763 static const G4double pZ54N74[5]={.018, 5., .1, .03, .002};
00764 static const std::pair<G4int, const G4double*> Z54N74(74,pZ54N74);
00765 static const G4double pZ54N75[5]={.018, 5., .1, .03, .002};
00766 static const std::pair<G4int, const G4double*> Z54N75(75,pZ54N75);
00767 static const G4double pZ54N76[5]={.018, 5., .1, .03, .002};
00768 static const std::pair<G4int, const G4double*> Z54N76(76,pZ54N76);
00769 static const G4double pZ54N77[5]={.018, 5., .1, .03, .002};
00770 static const std::pair<G4int, const G4double*> Z54N77(77,pZ54N77);
00771 static const G4double pZ54N78[5]={.018, 5., .1, .03, .002};
00772 static const std::pair<G4int, const G4double*> Z54N78(78,pZ54N78);
00773 static const G4double pZ54N80[5]={.018, 5., .1, .03, .002};
00774 static const std::pair<G4int, const G4double*> Z54N80(80,pZ54N80);
00775 static const G4double pZ54N82[5]={.018, 5., .1, .03, .002};
00776 static const std::pair<G4int, const G4double*> Z54N82(82,pZ54N82);
00777 static const std::pair<G4int, const G4double*> Z54[N54]={Z54N70, Z54N72, Z54N74,
00778 Z54N75, Z54N76, Z54N77,
00779 Z54N78, Z54N80, Z54N82};
00780
00781 static const G4int N55=1;
00782 static const G4double pZ55N78[5]={.018, 5., .1, .03, .002};
00783 static const std::pair<G4int, const G4double*> Z55N78(78,pZ55N78);
00784 static const std::pair<G4int, const G4double*> Z55[N55]={Z55N78};
00785
00786 static const G4int N56=7;
00787 static const G4double pZ56N74[5]={.018, 5., .1, .03, .002};
00788 static const std::pair<G4int, const G4double*> Z56N74(70,pZ56N74);
00789 static const G4double pZ56N76[5]={.018, 5., .1, .03, .002};
00790 static const std::pair<G4int, const G4double*> Z56N76(71,pZ56N76);
00791 static const G4double pZ56N78[5]={.018, 5., .1, .03, .002};
00792 static const std::pair<G4int, const G4double*> Z56N78(72,pZ56N78);
00793 static const G4double pZ56N79[5]={.018, 5., .1, .03, .002};
00794 static const std::pair<G4int, const G4double*> Z56N79(73,pZ56N79);
00795 static const G4double pZ56N80[5]={.018, 5., .1, .03, .002};
00796 static const std::pair<G4int, const G4double*> Z56N80(74,pZ56N80);
00797 static const G4double pZ56N81[5]={.018, 5., .1, .03, .002};
00798 static const std::pair<G4int, const G4double*> Z56N81(76,pZ56N81);
00799 static const G4double pZ56N82[5]={.018, 5., .1, .03, .002};
00800 static const std::pair<G4int, const G4double*> Z56N82(78,pZ56N82);
00801 static const std::pair<G4int, const G4double*> Z56[N56]={Z56N74, Z56N76, Z56N78, Z56N79,
00802 Z56N80, Z56N81, Z56N82};
00803
00804 static const G4int N57=2;
00805 static const G4double pZ57N81[5]={.018, 5., .1, .03, .002};
00806 static const std::pair<G4int, const G4double*> Z57N81(81,pZ57N81);
00807 static const G4double pZ57N82[5]={.018, 5., .1, .03, .002};
00808 static const std::pair<G4int, const G4double*> Z57N82(82,pZ57N82);
00809 static const std::pair<G4int, const G4double*> Z57[N57]={Z57N81, Z57N82};
00810
00811 static const G4int N58=4;
00812 static const G4double pZ58N78[5]={.018, 5., .1, .03, .002};
00813 static const std::pair<G4int, const G4double*> Z58N78(78,pZ58N78);
00814 static const G4double pZ58N80[5]={.018, 5., .1, .03, .002};
00815 static const std::pair<G4int, const G4double*> Z58N80(80,pZ58N80);
00816 static const G4double pZ58N82[5]={.018, 5., .1, .03, .002};
00817 static const std::pair<G4int, const G4double*> Z58N82(82,pZ58N82);
00818 static const G4double pZ58N84[5]={.018, 5., .1, .03, .002};
00819 static const std::pair<G4int, const G4double*> Z58N84(84,pZ58N84);
00820 static const std::pair<G4int, const G4double*> Z58[N58]={Z58N78, Z58N80, Z58N82, Z58N84};
00821
00822 static const G4int N59=1;
00823 static const G4double pZ59N82[5]={.018, 5., .1, .03, .002};
00824 static const std::pair<G4int, const G4double*> Z59N82(82,pZ59N82);
00825 static const std::pair<G4int, const G4double*> Z59[N59]={Z59N82};
00826
00827 static const G4int N60=7;
00828 static const G4double pZ60N82[5]={.018, 5., .1, .03, .002};
00829 static const std::pair<G4int, const G4double*> Z60N82(82,pZ60N82);
00830 static const G4double pZ60N83[5]={.018, 5., .1, .03, .002};
00831 static const std::pair<G4int, const G4double*> Z60N83(83,pZ60N83);
00832 static const G4double pZ60N84[5]={.018, 5., .1, .03, .002};
00833 static const std::pair<G4int, const G4double*> Z60N84(84,pZ60N84);
00834 static const G4double pZ60N85[5]={.018, 5., .1, .03, .002};
00835 static const std::pair<G4int, const G4double*> Z60N85(85,pZ60N85);
00836 static const G4double pZ60N86[5]={.018, 5., .1, .03, .002};
00837 static const std::pair<G4int, const G4double*> Z60N86(86,pZ60N86);
00838 static const G4double pZ60N88[5]={.018, 5., .1, .03, .002};
00839 static const std::pair<G4int, const G4double*> Z60N88(88,pZ60N88);
00840 static const G4double pZ60N90[5]={.018, 5., .1, .03, .002};
00841 static const std::pair<G4int, const G4double*> Z60N90(90,pZ60N90);
00842 static const std::pair<G4int, const G4double*> Z60[N60]={Z60N82, Z60N83, Z60N84, Z60N85,
00843 Z60N86, Z60N88, Z60N90};
00844
00845 static const G4int N61=1;
00846 static const G4double pZ61N0[5]={.018, 5., .1, .03, .002};
00847 static const std::pair<G4int, const G4double*> Z61N0(0,pZ61N0);
00848 static const std::pair<G4int, const G4double*> Z61[N61]={Z61N0};
00849
00850 static const G4int N62=7;
00851 static const G4double pZ62N82[5]={.018, 5., .1, .03, .002};
00852 static const std::pair<G4int, const G4double*> Z62N82(82,pZ62N82);
00853 static const G4double pZ62N85[5]={.018, 5., .1, .03, .002};
00854 static const std::pair<G4int, const G4double*> Z62N85(85,pZ62N85);
00855 static const G4double pZ62N86[5]={.018, 5., .1, .03, .002};
00856 static const std::pair<G4int, const G4double*> Z62N86(86,pZ62N86);
00857 static const G4double pZ62N87[5]={.018, 5., .1, .03, .002};
00858 static const std::pair<G4int, const G4double*> Z62N87(87,pZ62N87);
00859 static const G4double pZ62N88[5]={.018, 5., .1, .03, .002};
00860 static const std::pair<G4int, const G4double*> Z62N88(88,pZ62N88);
00861 static const G4double pZ62N90[5]={.018, 5., .1, .03, .002};
00862 static const std::pair<G4int, const G4double*> Z62N90(90,pZ62N90);
00863 static const G4double pZ62N92[5]={.018, 5., .1, .03, .002};
00864 static const std::pair<G4int, const G4double*> Z62N92(92,pZ62N92);
00865 static const std::pair<G4int, const G4double*> Z62[N62]={Z62N82, Z62N85, Z62N86, Z62N87,
00866 Z62N88, Z62N90, Z62N92};
00867
00868 static const G4int N63=2;
00869 static const G4double pZ63N88[5]={.018, 5., .1, .03, .002};
00870 static const std::pair<G4int, const G4double*> Z63N88(88,pZ63N88);
00871 static const G4double pZ63N90[5]={.018, 5., .1, .03, .002};
00872 static const std::pair<G4int, const G4double*> Z63N90(90,pZ63N90);
00873 static const std::pair<G4int, const G4double*> Z63[N63]={Z63N88, Z63N90};
00874
00875 static const G4int N64=7;
00876 static const G4double pZ64N88[5]={.018, 5., .1, .03, .002};
00877 static const std::pair<G4int, const G4double*> Z64N88(88,pZ64N88);
00878 static const G4double pZ64N90[5]={.018, 5., .1, .03, .002};
00879 static const std::pair<G4int, const G4double*> Z64N90(90,pZ64N90);
00880 static const G4double pZ64N91[5]={.018, 5., .1, .03, .002};
00881 static const std::pair<G4int, const G4double*> Z64N91(91,pZ64N91);
00882 static const G4double pZ64N92[5]={.018, 5., .1, .03, .002};
00883 static const std::pair<G4int, const G4double*> Z64N92(92,pZ64N92);
00884 static const G4double pZ64N93[5]={.018, 5., .1, .03, .002};
00885 static const std::pair<G4int, const G4double*> Z64N93(93,pZ64N93);
00886 static const G4double pZ64N94[5]={.018, 5., .1, .03, .002};
00887 static const std::pair<G4int, const G4double*> Z64N94(94,pZ64N94);
00888 static const G4double pZ64N96[5]={.018, 5., .1, .03, .002};
00889 static const std::pair<G4int, const G4double*> Z64N96(96,pZ64N96);
00890 static const std::pair<G4int, const G4double*> Z64[N64]={Z64N88, Z64N90, Z64N91, Z64N92,
00891 Z64N93, Z64N94, Z64N96};
00892
00893 static const G4int N65=1;
00894 static const G4double pZ65N94[5]={.018, 5., .1, .03, .002};
00895 static const std::pair<G4int, const G4double*> Z65N94(82,pZ65N94);
00896 static const std::pair<G4int, const G4double*> Z65[N65]={Z65N94};
00897
00898 static const G4int N66=7;
00899 static const G4double pZ66N90[5]={.018, 5., .1, .03, .002};
00900 static const std::pair<G4int, const G4double*> Z66N90(90,pZ66N90);
00901 static const G4double pZ66N92[5]={.018, 5., .1, .03, .002};
00902 static const std::pair<G4int, const G4double*> Z66N92(92,pZ66N92);
00903 static const G4double pZ66N94[5]={.018, 5., .1, .03, .002};
00904 static const std::pair<G4int, const G4double*> Z66N94(94,pZ66N94);
00905 static const G4double pZ66N95[5]={.018, 5., .1, .03, .002};
00906 static const std::pair<G4int, const G4double*> Z66N95(95,pZ66N95);
00907 static const G4double pZ66N96[5]={.018, 5., .1, .03, .002};
00908 static const std::pair<G4int, const G4double*> Z66N96(96,pZ66N96);
00909 static const G4double pZ66N97[5]={.018, 5., .1, .03, .002};
00910 static const std::pair<G4int, const G4double*> Z66N97(97,pZ66N97);
00911 static const G4double pZ66N98[5]={.018, 5., .1, .03, .002};
00912 static const std::pair<G4int, const G4double*> Z66N98(98,pZ66N98);
00913 static const std::pair<G4int, const G4double*> Z66[N66]={Z66N90, Z66N92, Z66N94, Z66N95,
00914 Z66N96, Z66N97, Z66N98};
00915
00916 static const G4int N67=1;
00917 static const G4double pZ67N98[5]={.018, 5., .1, .03, .002};
00918 static const std::pair<G4int, const G4double*> Z67N98(98,pZ67N98);
00919 static const std::pair<G4int, const G4double*> Z67[N67]={Z67N98};
00920
00921 static const G4int N68=6;
00922 static const G4double pZ68N94[5]={.018, 5., .1, .03, .002};
00923 static const std::pair<G4int, const G4double*> Z68N94(94,pZ68N94);
00924 static const G4double pZ68N96[5]={.018, 5., .1, .03, .002};
00925 static const std::pair<G4int, const G4double*> Z68N96(96,pZ68N96);
00926 static const G4double pZ68N98[5]={.018, 5., .1, .03, .002};
00927 static const std::pair<G4int, const G4double*> Z68N98(98,pZ68N98);
00928 static const G4double pZ68N99[5]={.018, 5., .1, .03, .002};
00929 static const std::pair<G4int, const G4double*> Z68N99(99,pZ68N99);
00930 static const G4double pZ68N100[5]={.018, 5., .1, .03, .002};
00931 static const std::pair<G4int, const G4double*> Z68N100(100,pZ68N100);
00932 static const G4double pZ68N102[5]={.01, 27., 0., 0., 1.};
00933 static const std::pair<G4int, const G4double*> Z68N102(102,pZ68N102);
00934 static const std::pair<G4int, const G4double*> Z68[N68]={Z68N94, Z68N96, Z68N98,
00935 Z68N99, Z68N100, Z68N102};
00936
00937 static const G4int N69=1;
00938 static const G4double pZ69N100[5]={.018, 5., .1, .03, .002};
00939 static const std::pair<G4int, const G4double*> Z69N100(100,pZ69N100);
00940 static const std::pair<G4int, const G4double*> Z69[N69]={Z69N100};
00941
00942 static const G4int N70=7;
00943 static const G4double pZ70N98[5]={.018, 5., .1, .03, .002};
00944 static const std::pair<G4int, const G4double*> Z70N98(98,pZ70N98);
00945 static const G4double pZ70N100[5]={.018, 5., .1, .03, .002};
00946 static const std::pair<G4int, const G4double*> Z70N100(100,pZ70N100);
00947 static const G4double pZ70N101[5]={.018, 5., .1, .03, .002};
00948 static const std::pair<G4int, const G4double*> Z70N101(101,pZ70N101);
00949 static const G4double pZ70N102[5]={.018, 5., .1, .03, .002};
00950 static const std::pair<G4int, const G4double*> Z70N102(102,pZ70N102);
00951 static const G4double pZ70N103[5]={.018, 5., .1, .03, .002};
00952 static const std::pair<G4int, const G4double*> Z70N103(103,pZ70N103);
00953 static const G4double pZ70N104[5]={.018, 5., .1, .03, .002};
00954 static const std::pair<G4int, const G4double*> Z70N104(104,pZ70N104);
00955 static const G4double pZ70N106[5]={.01, 27., 0., 0., 1.};
00956 static const std::pair<G4int, const G4double*> Z70N106(106,pZ70N106);
00957 static const std::pair<G4int, const G4double*> Z70[N70]={Z70N98, Z70N100, Z70N101,
00958 Z70N102, Z70N103, Z70N104,
00959 Z70N106};
00960
00961 static const G4int N71=2;
00962 static const G4double pZ71N104[5]={.018, 5., .1, .03, .002};
00963 static const std::pair<G4int, const G4double*> Z71N104(104,pZ71N104);
00964 static const G4double pZ71N105[5]={.018, 5., .1, .03, .002};
00965 static const std::pair<G4int, const G4double*> Z71N105(105,pZ71N105);
00966 static const std::pair<G4int, const G4double*> Z71[N71]={Z71N104, Z71N105};
00967
00968 static const G4int N72=6;
00969 static const G4double pZ72N102[5]={.018, 5., .1, .03, .002};
00970 static const std::pair<G4int, const G4double*> Z72N102(102,pZ72N102);
00971 static const G4double pZ72N104[5]={.018, 5., .1, .03, .002};
00972 static const std::pair<G4int, const G4double*> Z72N104(104,pZ72N104);
00973 static const G4double pZ72N105[5]={.018, 5., .1, .03, .002};
00974 static const std::pair<G4int, const G4double*> Z72N105(105,pZ72N105);
00975 static const G4double pZ72N106[5]={.018, 5., .1, .03, .002};
00976 static const std::pair<G4int, const G4double*> Z72N106(106,pZ72N106);
00977 static const G4double pZ72N107[5]={.018, 5., .1, .03, .002};
00978 static const std::pair<G4int, const G4double*> Z72N107(107,pZ72N107);
00979 static const G4double pZ72N108[5]={.01, 27., 0., 0., 1.};
00980 static const std::pair<G4int, const G4double*> Z72N108(108,pZ72N108);
00981 static const std::pair<G4int, const G4double*> Z72[N72]={Z72N102, Z72N104, Z72N105,
00982 Z72N106, Z72N107, Z72N108};
00983
00984 static const G4int N73=1;
00985 static const G4double pZ73N108[5]={.0065, 2., .15, .001, .0012};
00986 static const std::pair<G4int, const G4double*> Z73N108(108,pZ73N108);
00987 static const std::pair<G4int, const G4double*> Z73[N73]={Z73N108};
00988
00989 static const G4int N74=5;
00990 static const G4double pZ74N106[5]={.014, 5., .03, .04, .001};
00991 static const std::pair<G4int, const G4double*> Z74N106(106,pZ74N106);
00992 static const G4double pZ74N108[5]={.013, 4.5, .35, .045, .001};
00993 static const std::pair<G4int, const G4double*> Z74N108(108,pZ74N108);
00994 static const G4double pZ74N109[5]={.012, 4., .02, .04, .001};
00995 static const std::pair<G4int, const G4double*> Z74N109(109,pZ74N109);
00996 static const G4double pZ74N110[5]={.014, 6., .02, .03, .0015};
00997 static const std::pair<G4int, const G4double*> Z74N110(110,pZ74N110);
00998 static const G4double pZ74N112[5]={.014, 6., .02, .03, .0015};
00999 static const std::pair<G4int, const G4double*> Z74N112(112,pZ74N112);
01000 static const std::pair<G4int, const G4double*> Z74[N74]={Z74N106, Z74N108, Z74N109,
01001 Z74N110, Z74N112};
01002
01003 static const G4int N75=2;
01004 static const G4double pZ75N110[5]={.015, 4., .2, .0001, .0021};
01005 static const std::pair<G4int, const G4double*> Z75N110(110,pZ75N110);
01006 static const G4double pZ75N112[5]={.015, 4., .1, .0001, .002};
01007 static const std::pair<G4int, const G4double*> Z75N112(112,pZ75N112);
01008 static const std::pair<G4int, const G4double*> Z75[N75]={Z75N110, Z75N112};
01009
01010 static const G4int N76=7;
01011 static const G4double pZ76N108[5]={.018, 5., .1, .03, .002};
01012 static const std::pair<G4int, const G4double*> Z76N108(108,pZ76N108);
01013 static const G4double pZ76N110[5]={.018, 5., .1, .03, .002};
01014 static const std::pair<G4int, const G4double*> Z76N110(110,pZ76N110);
01015 static const G4double pZ76N111[5]={.018, 5., .1, .03, .002};
01016 static const std::pair<G4int, const G4double*> Z76N111(111,pZ76N111);
01017 static const G4double pZ76N112[5]={.018, 5., .1, .03, .002};
01018 static const std::pair<G4int, const G4double*> Z76N112(112,pZ76N112);
01019 static const G4double pZ76N113[5]={.018, 5., .1, .03, .002};
01020 static const std::pair<G4int, const G4double*> Z76N113(113,pZ76N113);
01021 static const G4double pZ76N114[5]={.018, 5., .1, .03, .002};
01022 static const std::pair<G4int, const G4double*> Z76N114(114,pZ76N114);
01023 static const G4double pZ76N116[5]={.018, 5., .1, .03, .002};
01024 static const std::pair<G4int, const G4double*> Z76N116(116,pZ76N116);
01025 static const std::pair<G4int, const G4double*> Z76[N76]={Z76N108, Z76N110, Z76N111,
01026 Z76N112, Z76N113, Z76N114,
01027 Z76N116};
01028
01029 static const G4int N77=2;
01030 static const G4double pZ77N114[5]={.012, 3., .1, .0001, .003};
01031 static const std::pair<G4int, const G4double*> Z77N114(114,pZ77N114);
01032 static const G4double pZ77N116[5]={.012, 3., .08, .0001, .002};
01033 static const std::pair<G4int, const G4double*> Z77N116(116,pZ77N116);
01034 static const std::pair<G4int, const G4double*> Z77[N77]={Z77N114, Z77N116};
01035
01036 static const G4int N78=6;
01037 static const G4double pZ78N112[5]={.018, 5., .1, .03, .002};
01038 static const std::pair<G4int, const G4double*> Z78N112(112,pZ78N112);
01039 static const G4double pZ78N114[5]={.018, 5., .1, .03, .002};
01040 static const std::pair<G4int, const G4double*> Z78N114(114,pZ78N114);
01041 static const G4double pZ78N116[5]={.018, 5., .1, .03, .002};
01042 static const std::pair<G4int, const G4double*> Z78N116(116,pZ78N116);
01043 static const G4double pZ78N117[5]={.018, 5., .1, .03, .002};
01044 static const std::pair<G4int, const G4double*> Z78N117(117,pZ78N117);
01045 static const G4double pZ78N118[5]={.018, 5., .1, .03, .002};
01046 static const std::pair<G4int, const G4double*> Z78N118(118,pZ78N118);
01047 static const G4double pZ78N120[5]={.018, 5., .1, .03, .002};
01048 static const std::pair<G4int, const G4double*> Z78N120(120,pZ78N120);
01049 static const std::pair<G4int, const G4double*> Z78[N78]={Z78N112, Z78N114, Z78N116,
01050 Z78N117, Z78N118, Z78N120};
01051
01052 static const G4int N79=1;
01053 static const G4double pZ79N118[5]={.012, 4., .2, .0001, .002};
01054 static const std::pair<G4int, const G4double*> Z79N118(118,pZ79N118);
01055 static const std::pair<G4int, const G4double*> Z79[N79]={Z79N118};
01056
01057 static const G4int N80=7;
01058 static const G4double pZ80N116[5]={.022, 11., .006, .044, .001};
01059 static const std::pair<G4int, const G4double*> Z80N116(116,pZ80N116);
01060 static const G4double pZ80N118[5]={.024, 10., .04, .018, .0016};
01061 static const std::pair<G4int, const G4double*> Z80N118(118,pZ80N118);
01062 static const G4double pZ80N119[5]={.017, 8., .02, .02, .0016};
01063 static const std::pair<G4int, const G4double*> Z80N119(119,pZ80N119);
01064 static const G4double pZ80N120[5]={.021, 9., .03, .02, .0016};
01065 static const std::pair<G4int, const G4double*> Z80N120(120,pZ80N120);
01066 static const G4double pZ80N121[5]={.01, 7., .025, .025, .0016};
01067 static const std::pair<G4int, const G4double*> Z80N121(121,pZ80N121);
01068 static const G4double pZ80N122[5]={.023, 9., .008, .045, .0012};
01069 static const std::pair<G4int, const G4double*> Z80N122(122,pZ80N122);
01070 static const G4double pZ80N124[5]={.018, 8., .007, .04, .0013};
01071 static const std::pair<G4int, const G4double*> Z80N124(124,pZ80N124);
01072 static const std::pair<G4int, const G4double*> Z80[N80]={Z80N116, Z80N118, Z80N119,
01073 Z80N120, Z80N121, Z80N122,
01074 Z80N124};
01075
01076 static const G4int N81=2;
01077 static const G4double pZ81N122[5]={.018, 5., .1, .03, .002};
01078 static const std::pair<G4int, const G4double*> Z81N122(122,pZ81N122);
01079 static const G4double pZ81N124[5]={.01, 27., 0., 0., 1.};
01080 static const std::pair<G4int, const G4double*> Z81N124(124,pZ81N124);
01081 static const std::pair<G4int, const G4double*> Z81[N81]={Z81N122, Z81N124};
01082
01083 static const G4int N82=4;
01084 static const G4double pZ82N122[5]={.032, 9., .001, .13, .004};
01085 static const std::pair<G4int, const G4double*> Z82N122(122,pZ82N122);
01086 static const G4double pZ82N124[5]={.02, 7., .005, .14, .002};
01087 static const std::pair<G4int, const G4double*> Z82N124(124,pZ82N124);
01088 static const G4double pZ82N125[5]={.021, 9., .0012, .05, .01};
01089 static const std::pair<G4int, const G4double*> Z82N125(125,pZ82N125);
01090 static const G4double pZ82N126[5]={.049, 14., .0007, .145, .001};
01091 static const std::pair<G4int, const G4double*> Z82N126(126,pZ82N126);
01092 static const std::pair<G4int, const G4double*> Z82[N82]={Z82N122, Z82N124, Z82N125,
01093 Z82N126};
01094
01095 static const G4int N83=1;
01096 static const G4double pZ83N126[5]={.033, 10., .001, .13, .006};
01097 static const std::pair<G4int, const G4double*> Z83N126(126,pZ83N126);
01098 static const std::pair<G4int, const G4double*> Z83[N83]={Z83N126};
01099
01100 static const G4int N84=1;
01101 static const G4double pZ84N0[5]={.01, 27., 0., 0., 1.};
01102 static const std::pair<G4int, const G4double*> Z84N0(0,pZ84N0);
01103 static const std::pair<G4int, const G4double*> Z84[N84]={Z84N0};
01104
01105 static const G4int N85=1;
01106 static const G4double pZ85N0[5]={.018, 5., .1, .03, .002};
01107 static const std::pair<G4int, const G4double*> Z85N0(0,pZ85N0);
01108 static const std::pair<G4int, const G4double*> Z85[N85]={Z85N0};
01109
01110 static const G4int N86=1;
01111 static const G4double pZ86N0[5]={.018, 5., .1, .03, .002};
01112 static const std::pair<G4int, const G4double*> Z86N0(0,pZ86N0);
01113 static const std::pair<G4int, const G4double*> Z86[N86]={Z86N0};
01114
01115 static const G4int N87=1;
01116 static const G4double pZ87N0[5]={.018, 5., .1, .03, .002};
01117 static const std::pair<G4int, const G4double*> Z87N0(0,pZ87N0);
01118 static const std::pair<G4int, const G4double*> Z87[N87]={Z87N0};
01119
01120 static const G4int N88=1;
01121 static const G4double pZ88N138[5]={.012, 4.4, .068, .051, .0008};
01122 static const std::pair<G4int, const G4double*> Z88N138(138,pZ88N138);
01123 static const std::pair<G4int, const G4double*> Z88[N88]={Z88N138};
01124
01125 static const G4int N89=1;
01126 static const G4double pZ89N0[5]={.018, 5., .1, .03, .002};
01127 static const std::pair<G4int, const G4double*> Z89N0(0,pZ89N0);
01128 static const std::pair<G4int, const G4double*> Z89[N89]={Z89N0};
01129
01130 static const G4int N90=1;
01131 static const G4double pZ90N142[5]={.01, 3.6, .07, .029, .0009};
01132 static const std::pair<G4int, const G4double*> Z90N142(142,pZ90N142);
01133 static const std::pair<G4int, const G4double*> Z90[N90]={Z90N142};
01134
01135 static const G4int N91=1;
01136 static const G4double pZ91N0[5]={.01, 27., 0., 0., 1.};
01137 static const std::pair<G4int, const G4double*> Z91N0(0,pZ91N0);
01138 static const std::pair<G4int, const G4double*> Z91[N91]={Z91N0};
01139
01140 static const G4int N92=2;
01141 static const G4double pZ92N143[5]={.005, 2.5, .06, .008, .002};
01142 static const std::pair<G4int, const G4double*> Z92N143(143,pZ92N143);
01143 static const G4double pZ92N146[5]={.009, 3.1, .04, .025, .001};
01144 static const std::pair<G4int, const G4double*> Z92N146(146,pZ92N146);
01145 static const std::pair<G4int, const G4double*> Z92[N92]={Z92N143, Z92N146};
01146
01147 static const G4int N93=1;
01148 static const G4double pZ93N144[5]={.009, 2.35, .35, .003, .0007};
01149 static const std::pair<G4int, const G4double*> Z93N144(144,pZ93N144);
01150 static const std::pair<G4int, const G4double*> Z93[N93]={Z93N144};
01151
01152 static const G4int N94=3;
01153 static const G4double pZ94N145[5]={.005, 2.6, .04, .023, .0002};
01154 static const std::pair<G4int, const G4double*> Z94N145(145,pZ94N145);
01155 static const G4double pZ94N148[5]={.009, 3.1, .06, .02, .001};
01156 static const std::pair<G4int, const G4double*> Z94N148(148,pZ94N148);
01157 static const G4double pZ94N150[5]={.01, 27., 0., 0., 1.};
01158 static const std::pair<G4int, const G4double*> Z94N150(150,pZ94N150);
01159 static const std::pair<G4int, const G4double*> Z94[N94]={Z94N145, Z94N148, Z94N150};
01160
01161 static const G4int N95=1;
01162 static const G4double pZ95N0[5]={.018, 5., .1, .03, .002};
01163 static const std::pair<G4int, const G4double*> Z95N0(0,pZ95N0);
01164 static const std::pair<G4int, const G4double*> Z95[N95]={Z95N0};
01165
01166 static const G4int N96=1;
01167 static const G4double pZ96N151[5]={.005, 2.5, .07, .027, .0009};
01168 static const std::pair<G4int, const G4double*> Z96N151(151,pZ96N151);
01169 static const std::pair<G4int, const G4double*> Z96[N96]={Z96N151};
01170
01171 static const G4int NZ=97;
01172 static const std::pair<G4int, const G4double*>* Pars[NZ]={Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,
01173 Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30,
01174 Z31,Z32,Z33,Z34,Z35,Z36,Z37,Z38,Z39,Z40,Z41,Z42,Z43,Z44,Z45,Z46,Z47,Z48,Z49,Z50,Z51,
01175 Z52,Z53,Z54,Z55,Z56,Z57,Z58,Z59,Z60,Z61,Z62,Z63,Z64,Z65,Z66,Z67,Z68,Z69,Z70,Z71,Z72,
01176 Z73,Z74,Z75,Z76,Z77,Z78,Z79,Z80,Z81,Z82,Z83,Z84,Z85,Z86,Z87,Z88,Z89,Z90,Z91,Z92,Z93,
01177 Z94,Z95,Z96};
01178 static const G4int NIso[NZ]={N0,N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15,N16,
01179 N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N27,N28,N29,N30,N31,N32,N33,N34,N35,N36,N37,
01180 N38,N39,N40,N41,N42,N43,N44,N45,N46,N47,N48,N49,N50,N51,N52,N53,N54,N55,N56,N57,N58,
01181 N59,N60,N61,N62,N63,N64,N65,N66,N67,N68,N69,N70,N71,N72,N73,N74,N75,N76,N77,N78,N79,
01182 N80,N81,N82,N83,N84,N85,N86,N87,N88,N89,N90,N91,N92,N93,N94,N95,N96};
01183 static G4int mZ=0;
01184 static G4int mN=0;
01185 static G4double P=.1;
01186 static G4double R=0.;
01187 static G4double p0=0.;
01188 static G4double p1=0.;
01189 static G4double p2=0.;
01190 static G4double p3=0.;
01191 static G4double p4=0.;
01192 G4int A=Z+N;
01193 if(A<=1) return 0.;
01194 if(p<=0.001) return 1.;
01195 if(Z!=mZ || N!=mN)
01196 {
01197 mZ=Z;
01198 mN=N;
01199 P=p;
01200 if(Z<97 && N<248)
01201 {
01202 p0=.01;
01203 p1=0.;
01204 p2=27.;
01205 p3=0.;
01206 p4=1.;
01207 G4int nn=NIso[Z];
01208 G4bool nfound=true;
01209 if(nn) for (G4int in=0; in<nn; in++)
01210 {
01211 std::pair<G4int, const G4double*> curIs=Pars[Z][in];
01212 if(curIs.first == N)
01213 {
01214 const G4double* curT=curIs.second;
01215 p0 = curT[0];
01216 if(p < p0)
01217 {
01218 R=1.;
01219 return R;
01220 }
01221 p1 = curT[1];
01222 p2 = curT[2];
01223 p3 = curT[3];
01224 p4 = curT[4];
01225 nfound = false;
01226 break;
01227 }
01228 }
01229 if(nfound) G4cout<<"-Warning-G4QNeutronCaptureRatio::CSLin: Z="<<Z<<", N="
01230 <<N<<" isotope is not implemented in CHIPS"<<G4endl;
01231 R=std::pow(p0/p,p1);
01232 if(p2>0.)
01233 {
01234 G4double dp=p-p3;
01235 R+=p2*std::exp(-dp*dp/p4);
01236 }
01237 if(R>1.) R=1.;
01238 }
01239 else G4cerr<<"-Warning-G4QNeutronCaptureRatio::CalcR:*Bad A* Z="<<Z<<", N="<<N<<G4endl;
01240 }
01241 else if(std::fabs(p-P)/P<.0001) return R;
01242 return R;
01243 }