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 #include "G4ChipsNeutronElasticXS.hh"
00041 #include "G4SystemOfUnits.hh"
00042 #include "G4DynamicParticle.hh"
00043 #include "G4ParticleDefinition.hh"
00044 #include "G4Neutron.hh"
00045 #include "G4Nucleus.hh"
00046 #include "G4ParticleTable.hh"
00047 #include "G4NucleiProperties.hh"
00048
00049
00050 #include "G4CrossSectionFactory.hh"
00051
00052 G4_DECLARE_XS_FACTORY(G4ChipsNeutronElasticXS);
00053
00054 G4ChipsNeutronElasticXS::G4ChipsNeutronElasticXS():G4VCrossSectionDataSet(Default_Name()), nPoints(128), nLast(nPoints-1)
00055 {
00056 lPMin=-8.;
00057 lPMax= 8.;
00058 dlnP=(lPMax-lPMin)/nLast;
00059 onlyCS=true;
00060 lastSIG=0.;
00061 lastLP=-10.;
00062 lastTM=0.;
00063 theSS=0.;
00064 theS1=0.;
00065 theB1=0.;
00066 theS2=0.;
00067 theB2=0.;
00068 theS3=0.;
00069 theB3=0.;
00070 theS4=0.;
00071 theB4=0.;
00072 lastTZ=0;
00073 lastTN=0;
00074 lastPIN=0.;
00075 lastCST=0;
00076 lastPAR=0;
00077 lastSST=0;
00078 lastS1T=0;
00079 lastB1T=0;
00080 lastS2T=0;
00081 lastB2T=0;
00082 lastS3T=0;
00083 lastB3T=0;
00084 lastS4T=0;
00085 lastB4T=0;
00086 lastN=0;
00087 lastZ=0;
00088 lastP=0.;
00089 lastTH=0.;
00090 lastCS=0.;
00091 lastI=0;
00092 }
00093
00094 G4ChipsNeutronElasticXS::~G4ChipsNeutronElasticXS()
00095 {
00096 std::vector<G4double*>::iterator pos;
00097 for (pos=CST.begin(); pos<CST.end(); pos++)
00098 { delete [] *pos; }
00099 CST.clear();
00100 for (pos=PAR.begin(); pos<PAR.end(); pos++)
00101 { delete [] *pos; }
00102 PAR.clear();
00103 for (pos=SST.begin(); pos<SST.end(); pos++)
00104 { delete [] *pos; }
00105 SST.clear();
00106 for (pos=S1T.begin(); pos<S1T.end(); pos++)
00107 { delete [] *pos; }
00108 S1T.clear();
00109 for (pos=B1T.begin(); pos<B1T.end(); pos++)
00110 { delete [] *pos; }
00111 B1T.clear();
00112 for (pos=S2T.begin(); pos<S2T.end(); pos++)
00113 { delete [] *pos; }
00114 S2T.clear();
00115 for (pos=B2T.begin(); pos<B2T.end(); pos++)
00116 { delete [] *pos; }
00117 B2T.clear();
00118 for (pos=S3T.begin(); pos<S3T.end(); pos++)
00119 { delete [] *pos; }
00120 S3T.clear();
00121 for (pos=B3T.begin(); pos<B3T.end(); pos++)
00122 { delete [] *pos; }
00123 B3T.clear();
00124 for (pos=S4T.begin(); pos<S4T.end(); pos++)
00125 { delete [] *pos; }
00126 S4T.clear();
00127 for (pos=B4T.begin(); pos<B4T.end(); pos++)
00128 { delete [] *pos; }
00129 B4T.clear();
00130 }
00131
00132 G4bool G4ChipsNeutronElasticXS::IsIsoApplicable(const G4DynamicParticle* Pt, G4int, G4int,
00133 const G4Element*,
00134 const G4Material*)
00135 {
00136 G4ParticleDefinition* particle = Pt->GetDefinition();
00137 if (particle == G4Proton::Proton() ) return true;
00138 return false;
00139 }
00140
00141 G4double G4ChipsNeutronElasticXS::GetIsoCrossSection(const G4DynamicParticle* Pt, G4int tgZ, G4int A,
00142 const G4Isotope*,
00143 const G4Element*,
00144 const G4Material*)
00145 {
00146 G4double pMom=Pt->GetTotalMomentum();
00147 G4int tgN = A - tgZ;
00148
00149 return GetChipsCrossSection(pMom, tgZ, tgN, 2112);
00150 }
00151
00152
00153
00154 G4double G4ChipsNeutronElasticXS::GetChipsCrossSection(G4double pMom, G4int tgZ, G4int tgN, G4int)
00155 {
00156 static std::vector <G4int> colN;
00157 static std::vector <G4int> colZ;
00158 static std::vector <G4double> colP;
00159 static std::vector <G4double> colTH;
00160 static std::vector <G4double> colCS;
00161
00162
00163 G4double pEn=pMom;
00164 onlyCS=false;
00165
00166 G4bool in=false;
00167 lastP = 0.;
00168 lastN = tgN;
00169 lastZ = tgZ;
00170 lastI = colN.size();
00171 if(lastI) for(G4int i=0; i<lastI; i++)
00172 {
00173 if(colN[i]==tgN && colZ[i]==tgZ)
00174 {
00175 lastI=i;
00176 lastTH =colTH[i];
00177 if(pEn<=lastTH)
00178 {
00179 return 0.;
00180 }
00181 lastP =colP [i];
00182 lastCS =colCS[i];
00183
00184 if(lastP == pMom)
00185 {
00186 CalculateCrossSection(false,-1,i,2112,lastZ,lastN,pMom);
00187 return lastCS*millibarn;
00188 }
00189 in = true;
00190
00191 lastCS=CalculateCrossSection(false,-1,i,2112,lastZ,lastN,pMom);
00192 if(lastCS<=0. && pEn>lastTH)
00193 {
00194 lastTH=pEn;
00195 }
00196 break;
00197 }
00198 }
00199 if(!in)
00200 {
00202 lastCS=CalculateCrossSection(false,0,lastI,2112,lastZ,lastN,pMom);
00203 if(lastCS<=0.)
00204 {
00205 lastTH = 0;
00206 if(pEn>lastTH)
00207 {
00208 lastTH=pEn;
00209 }
00210 }
00211 colN.push_back(tgN);
00212 colZ.push_back(tgZ);
00213 colP.push_back(pMom);
00214 colTH.push_back(lastTH);
00215 colCS.push_back(lastCS);
00216 return lastCS*millibarn;
00217 }
00218 else
00219 {
00220 colP[lastI]=pMom;
00221 colCS[lastI]=lastCS;
00222 }
00223 return lastCS*millibarn;
00224 }
00225
00226
00227
00228 G4double G4ChipsNeutronElasticXS::CalculateCrossSection(G4bool CS, G4int F,G4int I,
00229 G4int PDG, G4int tgZ, G4int tgN, G4double pIU)
00230 {
00231
00232 static std::vector <G4double> PIN;
00233
00234 G4double pMom=pIU/GeV;
00235 onlyCS=CS;
00236 lastLP=std::log(pMom);
00237 if(F)
00238 {
00239 if(F<0)
00240 {
00241 lastPIN = PIN[I];
00242 lastPAR = PAR[I];
00243 lastCST = CST[I];
00244 lastSST = SST[I];
00245 lastS1T = S1T[I];
00246 lastB1T = B1T[I];
00247 lastS2T = S2T[I];
00248 lastB2T = B2T[I];
00249 lastS3T = S3T[I];
00250 lastB3T = B3T[I];
00251 lastS4T = S4T[I];
00252 lastB4T = B4T[I];
00253 }
00254 if(lastLP>lastPIN && lastLP<lPMax)
00255 {
00256 lastPIN=GetPTables(lastLP,lastPIN,PDG,tgZ,tgN);
00257 PIN[I]=lastPIN;
00258 }
00259 }
00260 else
00261 {
00262 lastPAR = new G4double[nPoints];
00263 lastPAR[nLast]=0;
00264 lastCST = new G4double[nPoints];
00265 lastSST = new G4double[nPoints];
00266 lastS1T = new G4double[nPoints];
00267 lastB1T = new G4double[nPoints];
00268 lastS2T = new G4double[nPoints];
00269 lastB2T = new G4double[nPoints];
00270 lastS3T = new G4double[nPoints];
00271 lastB3T = new G4double[nPoints];
00272 lastS4T = new G4double[nPoints];
00273 lastB4T = new G4double[nPoints];
00274 lastPIN = GetPTables(lastLP,lPMin,PDG,tgZ,tgN);
00275 PIN.push_back(lastPIN);
00276 PAR.push_back(lastPAR);
00277 CST.push_back(lastCST);
00278 SST.push_back(lastSST);
00279 S1T.push_back(lastS1T);
00280 B1T.push_back(lastB1T);
00281 S2T.push_back(lastS2T);
00282 B2T.push_back(lastB2T);
00283 S3T.push_back(lastS3T);
00284 B3T.push_back(lastB3T);
00285 S4T.push_back(lastS4T);
00286 B4T.push_back(lastB4T);
00287 }
00288
00289 if(lastLP>lastPIN && lastLP<lPMax)
00290 {
00291 lastPIN = GetPTables(lastLP,lastPIN,PDG,tgZ,tgN);
00292 }
00293 if(!onlyCS) lastTM=GetQ2max(PDG, tgZ, tgN, pMom);
00294 if(lastLP>lPMin && lastLP<=lastPIN)
00295 {
00296 if(lastLP==lastPIN)
00297 {
00298 G4double shift=(lastLP-lPMin)/dlnP+.000001;
00299 G4int blast=static_cast<int>(shift);
00300 if(blast<0 || blast>=nLast) G4cout<<"G4QNeutElCS::CCS:b="<<blast<<","<<nLast<<G4endl;
00301 lastSIG = lastCST[blast];
00302 if(!onlyCS)
00303 {
00304 theSS = lastSST[blast];
00305 theS1 = lastS1T[blast];
00306 theB1 = lastB1T[blast];
00307 theS2 = lastS2T[blast];
00308 theB2 = lastB2T[blast];
00309 theS3 = lastS3T[blast];
00310 theB3 = lastB3T[blast];
00311 theS4 = lastS4T[blast];
00312 theB4 = lastB4T[blast];
00313 }
00314 }
00315 else
00316 {
00317 G4double shift=(lastLP-lPMin)/dlnP;
00318 G4int blast=static_cast<int>(shift);
00319 if(blast<0) blast=0;
00320 if(blast>=nLast) blast=nLast-1;
00321 shift-=blast;
00322 G4int lastL=blast+1;
00323 G4double SIGL=lastCST[blast];
00324 lastSIG= SIGL+shift*(lastCST[lastL]-SIGL);
00325 if(!onlyCS)
00326 {
00327 G4double SSTL=lastSST[blast];
00328 theSS=SSTL+shift*(lastSST[lastL]-SSTL);
00329 G4double S1TL=lastS1T[blast];
00330 theS1=S1TL+shift*(lastS1T[lastL]-S1TL);
00331 G4double B1TL=lastB1T[blast];
00332 theB1=B1TL+shift*(lastB1T[lastL]-B1TL);
00333 G4double S2TL=lastS2T[blast];
00334 theS2=S2TL+shift*(lastS2T[lastL]-S2TL);
00335 G4double B2TL=lastB2T[blast];
00336 theB2=B2TL+shift*(lastB2T[lastL]-B2TL);
00337 G4double S3TL=lastS3T[blast];
00338 theS3=S3TL+shift*(lastS3T[lastL]-S3TL);
00339 G4double B3TL=lastB3T[blast];
00340 theB3=B3TL+shift*(lastB3T[lastL]-B3TL);
00341 G4double S4TL=lastS4T[blast];
00342 theS4=S4TL+shift*(lastS4T[lastL]-S4TL);
00343 G4double B4TL=lastB4T[blast];
00344 theB4=B4TL+shift*(lastB4T[lastL]-B4TL);
00345 }
00346 }
00347 }
00348 else lastSIG=GetTabValues(lastLP, PDG, tgZ, tgN);
00349 if(lastSIG<0.) lastSIG = 0.;
00350 return lastSIG;
00351 }
00352
00353
00354 G4double G4ChipsNeutronElasticXS::GetPTables(G4double LP, G4double ILP, G4int PDG,
00355 G4int tgZ, G4int tgN)
00356 {
00357
00358 static const G4double pwd=2727;
00359 const G4int n_npel=24;
00360 const G4int n_ppel=32;
00361
00362 G4double np_el[n_npel]={12.,.05,.0001,5.,.35,6.75,.14,19.,.6,6.75,.14,13.,.14,.6,.00013,
00363 75.,.001,7.2,4.32,.012,2.5,0.0,12.,.34};
00364
00365
00366 G4double pp_el[n_ppel]={2.865,18.9,.6461,3.,9.,.425,.4276,.0022,5.,74.,3.,3.4,.2,.17,
00367 .001,8.,.055,3.64,5.e-5,4000.,1500.,.46,1.2e6,3.5e6,5.e-5,1.e10,
00368 8.5e8,1.e10,1.1,3.4e6,6.8e6,0.};
00369
00370
00371
00372 static const G4int N0=1;
00373 static const G4double pZ0N1[7]={0., 0., 0., 0., 0., 0., 0.};
00374 static const std::pair<G4int, const G4double*> Z0N1(1,pZ0N1);
00375 static const std::pair<G4int, const G4double*> Z0[N0]={Z0N1};
00376
00377 static const G4int N1=3;
00378 static const G4double pZ1N0[7]={0., 0., 0., 0., 0., 0., 0.};
00379 static const std::pair<G4int, const G4double*> Z1N0(0,pZ1N0);
00380 static const G4double pZ1N1[7]={6.E-5, 4., .055, 1.1E-8, .008, 1.2E-8, .019};
00381 static const std::pair<G4int, const G4double*> Z1N1(1,pZ1N1);
00382 static const G4double pZ1N2[7]={6.E-5, 2.2, .051, 1.E-8, .04, 9.E-8, .0075};
00383 static const std::pair<G4int, const G4double*> Z1N2(2,pZ1N2);
00384 static const std::pair<G4int, const G4double*> Z1[N1]={Z1N0, Z1N1, Z1N2};
00385
00386 static const G4int N2=2;
00387 static const G4double pZ2N1[7]={6.E-5, 3., .06, 4.E-9, .03, 7.E-8, .015};
00388 static const std::pair<G4int, const G4double*> Z2N1(1,pZ2N1);
00389 static const G4double pZ2N2[7]={3.E-4, .23, 1., 1.5E-9, 2.E-02, 1.E-8, .003};
00390 static const std::pair<G4int, const G4double*> Z2N2(2,pZ2N2);
00391 static const std::pair<G4int, const G4double*> Z2[N2]={Z2N1, Z2N2};
00392
00393 static const G4int N3=2;
00394 static const G4double pZ3N3[7]={3.1E-7, 1.7, 1.3E-4, 1.E-8, .02, 1.1E-7, .0023};
00395 static const std::pair<G4int, const G4double*> Z3N1(3,pZ3N3);
00396 static const G4double pZ3N4[7]={1.3E-6, 1.8, 7.6E-4, 9.E-9, .03, 1.E-7, .0029};
00397 static const std::pair<G4int, const G4double*> Z3N2(4,pZ3N4);
00398 static const std::pair<G4int, const G4double*> Z3[N3]={Z3N1, Z3N2};
00399
00400 static const G4int N4=2;
00401 static const G4double pZ4N3[7]={2.E-4, 1.4, 2.7, 0., .02, 5.E-8, 0.};
00402 static const std::pair<G4int, const G4double*> Z4N3(3,pZ4N3);
00403 static const G4double pZ4N5[7]={1.E-6, 5.7, .0011, 3.E-9, .007, 2.E-8, .016};
00404 static const std::pair<G4int, const G4double*> Z4N5(5,pZ4N5);
00405 static const std::pair<G4int, const G4double*> Z4[N4]={Z4N3,Z4N5};
00406
00407 static const G4int N5=2;
00408 static const G4double pZ5N5[7]={8.E-7, 5., 3.4E-4, 7.E-9, 1.E-02, 1.E-07, .0053};
00409 static const std::pair<G4int, const G4double*> Z5N5(5,pZ5N5);
00410 static const G4double pZ5N6[7]={4.8E-6, 6.6, .0035, 4.E-9, .003, 1.E-8, .012};
00411 static const std::pair<G4int, const G4double*> Z5N6(6,pZ5N6);
00412 static const std::pair<G4int, const G4double*> Z5[N5]={Z5N5, Z5N6};
00413
00414 static const G4int N6=2;
00415 static const G4double pZ6N6[7]={4.9E-6, 6.6, .0035, 4.E-9, .002, 6.E-9, .011};
00416 static const std::pair<G4int, const G4double*> Z6N6(6,pZ6N6);
00417 static const G4double pZ6N7[7]={4.9E-6, 6.6, .0035, 4.E-9, .002, 6.E-9, .011};
00418 static const std::pair<G4int, const G4double*> Z6N7(7,pZ6N7);
00419 static const std::pair<G4int, const G4double*> Z6[N6]={Z6N6, Z6N7};
00420
00421 static const G4int N7=2;
00422 static const G4double pZ7N7[7]={4.9E-6, 1.6, .03, .4E-9, .02, 6.E-8, .021};
00423 static const std::pair<G4int, const G4double*> Z7N7(7,pZ7N7);
00424 static const G4double pZ7N8[7]={2.5E-6, 5., .0021, 2.5E-9, .015, 5.E-8, .009};
00425 static const std::pair<G4int, const G4double*> Z7N8(8,pZ7N8);
00426 static const std::pair<G4int, const G4double*> Z7[N7]={Z7N7, Z7N8};
00427
00428 static const G4int N8=3;
00429 static const G4double pZ8N8[7]={2.5E-6, 5.3, .0018, 3.E-9, .01, 1.5E-8, .0075};
00430 static const std::pair<G4int, const G4double*> Z8N8(8,pZ8N8);
00431 static const G4double pZ8N9[7]={1.4E-6, 2.1, .0025, 1.3E-9, .02, 1.3E-7, .0072};
00432 static const std::pair<G4int, const G4double*> Z8N9(9,pZ8N9);
00433 static const G4double pZ8N10[7]={1.4E-6, 2.1, .0025, 1.3E-9, .02, 1.3E-7, .0072};
00434 static const std::pair<G4int, const G4double*> Z8N10(10,pZ8N10);
00435 static const std::pair<G4int, const G4double*> Z8[N8]={Z8N8, Z8N9, Z8N10};
00436
00437 static const G4int N9=1;
00438 static const G4double pZ9N10[7]={1.4E-6, 7.5, 6.7E-4, 4.E-9, 2.E-5, 7.E-12, .0066};
00439 static const std::pair<G4int, const G4double*> Z9N10(10,pZ9N10);
00440 static const std::pair<G4int, const G4double*> Z9[N9]={Z9N10};
00441
00442 static const G4int N10=3;
00443 static const G4double pZ10N10[7]={1.4E-5, 7., .01, 0., 3.E-11, 7.E-24, .12};
00444 static const std::pair<G4int, const G4double*> Z10N10(10,pZ10N10);
00445 static const G4double pZ10N11[7]={1.4E-6, 7.5, 6.7E-4, 4.E-9, 2.E-5, 7.E-12, .0066};
00446 static const std::pair<G4int, const G4double*> Z10N11(11,pZ10N11);
00447 static const G4double pZ10N12[7]={1.4E-5, 7., .01, 0., 3.E-11, 7.E-24, .12};
00448 static const std::pair<G4int, const G4double*> Z10N12(12,pZ10N12);
00449 static const std::pair<G4int, const G4double*> Z10[N10]={Z10N10, Z10N11, Z10N12};
00450
00451 static const G4int N11=2;
00452 static const G4double pZ11N11[7]={1.4E-5, 7., .01, 0., 3.E-11, 7.E-24, .12};
00453 static const std::pair<G4int, const G4double*> Z11N11(11,pZ11N11);
00454 static const G4double pZ11N12[7]={1.4E-6, 7.6, 6.E-4, 5.E-9, 7.E-9, 3.E-18, .0056};
00455 static const std::pair<G4int, const G4double*> Z11N12(12,pZ11N12);
00456 static const std::pair<G4int, const G4double*> Z11[N11]={Z11N11, Z11N12};
00457
00458 static const G4int N12=3;
00459 static const G4double pZ12N12[7]={8.E-7, 3., .001, 1.8E-9, .0015, .2E-9, .006};
00460 static const std::pair<G4int, const G4double*> Z12N12(12,pZ12N12);
00461 static const G4double pZ12N13[7]={8.E-7, 7., 3.E-4, 6.E-9, .006, 4.E-8, .0042};
00462 static const std::pair<G4int, const G4double*> Z12N13(13,pZ12N13);
00463 static const G4double pZ12N14[7]={1.2E-6, 6.8, 5.E-4, 5.E-9, .007, 2.E-8, .0044};
00464 static const std::pair<G4int, const G4double*> Z12N14(14,pZ12N14);
00465 static const std::pair<G4int, const G4double*> Z12[N12]={Z12N12, Z12N13, Z12N14};
00466
00467 static const G4int N13=1;
00468 static const G4double pZ13N14[7]={3.E-7, 5., 8.4E-5, 7.E-9, .008, 2.E-8, .0022};
00469 static const std::pair<G4int, const G4double*> Z13N14(14,pZ13N14);
00470 static const std::pair<G4int, const G4double*> Z13[N13]={Z13N14};
00471
00472 static const G4int N14=3;
00473 static const G4double pZ14N14[7]={1.2E-6, 6., 4.E-4, 6.E-9, .012, 8.E-8, .0029};
00474 static const std::pair<G4int, const G4double*> Z14N14(14,pZ14N14);
00475 static const G4double pZ14N15[7]={2.4E-6, 4., .0016, 3.E-9, .018, 6.E-8, .0037};
00476 static const std::pair<G4int, const G4double*> Z14N15(15,pZ14N15);
00477 static const G4double pZ14N16[7]={6.E-7, 4., 3.7E-4, 3.E-9, .018, 6.E-8, .0036};
00478 static const std::pair<G4int, const G4double*> Z14N16(16,pZ14N16);
00479 static const std::pair<G4int, const G4double*> Z14[N14]={Z14N14, Z14N15, Z14N16};
00480
00481 static const G4int N15=1;
00482 static const G4double pZ15N16[7]={6.E-7, 3., 8.2E-4, 1.4E-9, .03, 8.E-8, .0059};
00483 static const std::pair<G4int, const G4double*> Z15N16(16,pZ15N16);
00484 static const std::pair<G4int, const G4double*> Z15[N15]={Z15N16};
00485
00486 static const G4int N16=4;
00487 static const G4double pZ16N16[7]={6.E-7, 3., 1.9E-4, 5.E-9, .03, 6.E-8, .0013};
00488 static const std::pair<G4int, const G4double*> Z16N16(16,pZ16N16);
00489 static const G4double pZ16N17[7]={2.4E-6, 3., .0023, 2.E-9, .03, 6.5E-8, .004};
00490 static const std::pair<G4int, const G4double*> Z16N17(17,pZ16N17);
00491 static const G4double pZ16N18[7]={2.4E-6, 1.6, .0031, 1.4E-9, .03, 4.E-08, .0028};
00492 static const std::pair<G4int, const G4double*> Z16N18(18,pZ16N18);
00493 static const G4double pZ16N20[7]={2.4E-6, 3.1, .0017, 2.5E-9, .03, 5.E-08, .0029};
00494 static const std::pair<G4int, const G4double*> Z16N20(20,pZ16N20);
00495 static const std::pair<G4int, const G4double*> Z16[N16]={Z16N16, Z16N17, Z16N18, Z16N20};
00496
00497 static const G4int N17=2;
00498 static const G4double pZ17N18[7]={1.2E-7, .04, .062, 3.E-12, 3.E-02, 3.E-08, .027};
00499 static const std::pair<G4int, const G4double*> Z17N18(18,pZ17N18);
00500 static const G4double pZ17N20[7]={1.2E-7, 2., 6.8E-5, 2.7E-9, .03, 4.E-8, .0015};
00501 static const std::pair<G4int, const G4double*> Z17N20(20,pZ17N20);
00502 static const std::pair<G4int, const G4double*> Z17[N17]={Z17N18, Z17N20};
00503
00504 static const G4int N18=3;
00505 static const G4double pZ18N18[7]={1.2E-7, .52, .017, 1.1E-11, .03, 3.E-8, .095};
00506 static const std::pair<G4int, const G4double*> Z18N18(18,pZ18N18);
00507 static const G4double pZ18N20[7]={1.2E-07, .09, .012, 1.8E-11, .03, 3.E-8, .011};
00508 static const std::pair<G4int, const G4double*> Z18N20(20,pZ18N20);
00509 static const G4double pZ18N22[7]={1.2E-7, .65, 1.2E-4, 1.5E-9, .03, 5.E-8, 8.E-4};
00510 static const std::pair<G4int, const G4double*> Z18N22(22,pZ18N22);
00511 static const std::pair<G4int, const G4double*> Z18[N18]={Z18N18, Z18N20, Z18N22};
00512
00513 static const G4int N19=3;
00514 static const G4double pZ19N20[7]={1.2E-7, 1.3, 1.9E-4, .9E-9, .04, 5.5E-8, .0026};
00515 static const std::pair<G4int, const G4double*> Z19N20(20,pZ19N20);
00516 static const G4double pZ19N21[7]={1.6E-7, 1.2, 3.7E-4, .8E-9, .04, 6.5E-8, .0034};
00517 static const std::pair<G4int, const G4double*> Z19N21(21,pZ19N21);
00518 static const G4double pZ19N22[7]={6.E-8, 1.3, 1.2E-4, .9E-9, .04, 6.E-8, .0031};
00519 static const std::pair<G4int, const G4double*> Z19N22(22,pZ19N22);
00520 static const std::pair<G4int, const G4double*> Z19[N19]={Z19N20, Z19N21, Z19N22};
00521
00522 static const G4int N20=6;
00523 static const G4double pZ20N20[7]={2.4E-7, 3.4, 2.1E-4, 1.5E-9, .035, 6.E-8, .0037};
00524 static const std::pair<G4int, const G4double*> Z20N20(20,pZ20N20);
00525 static const G4double pZ20N22[7]={6.E-8, 2.7, 2.7E-5, 3.E-9, .035, 6.E-8, .0014};
00526 static const std::pair<G4int, const G4double*> Z20N22(22,pZ20N22);
00527 static const G4double pZ20N23[7]={1.5E-8, 1.8, 3.4E-5, .6E-9, .04, 6.E-8, .0049};
00528 static const std::pair<G4int, const G4double*> Z20N23(23,pZ20N23);
00529 static const G4double pZ20N24[7]={3.E-6, 5., .002, 2.E-9, .03, 7.E-8, .0038};
00530 static const std::pair<G4int, const G4double*> Z20N24(24,pZ20N24);
00531 static const G4double pZ20N26[7]={1.7E-5, 18., .0027, 1.E-8, 2.E-7, 7.E-17, .0047};
00532 static const std::pair<G4int, const G4double*> Z20N26(26,pZ20N26);
00533 static const G4double pZ20N28[7]={7.6E-6, .4, .07, .13E-9, .05, 4.E-8, .0042};
00534 static const std::pair<G4int, const G4double*> Z20N28(28,pZ20N28);
00535 static const std::pair<G4int, const G4double*> Z20[N20]={Z20N20, Z20N22, Z20N23,
00536 Z20N24, Z20N26, Z20N28};
00537
00538 static const G4int N21=1;
00539 static const G4double pZ21N24[7]={3.6E-9, 1.5, 5.2E-5, .1E-9, .05, 1.E-7, .025};
00540 static const std::pair<G4int, const G4double*> Z21N24(24,pZ21N24);
00541 static const std::pair<G4int, const G4double*> Z21[N21]={Z21N24};
00542
00543 static const G4int N22=5;
00544 static const G4double pZ22N24[7]={2.8E-8, 1.8, 5.6E-5, .6E-9, .05, 8.E-8, .0042};
00545 static const std::pair<G4int, const G4double*> Z22N24(24,pZ22N24);
00546 static const G4double pZ22N25[7]={3.1E-9, 1.6, 6.E-6, .8E-9, .04, 8.E-8, .0036};
00547 static const std::pair<G4int, const G4double*> Z22N25(25,pZ22N25);
00548 static const G4double pZ22N26[7]={3.E-9, 4., 3.2E-6, 1.4E-9, .05, 2.E-7, .0048};
00549 static const std::pair<G4int, const G4double*> Z22N26(26,pZ22N26);
00550 static const G4double pZ22N27[7]={1.E-8, 2., 3.4E-6, 4.5E-9, .05, 8.E-8, 7.7E-4};
00551 static const std::pair<G4int, const G4double*> Z22N27(27,pZ22N27);
00552 static const G4double pZ22N28[7]={4.E-7, 4., 3.7E-4, 1.E-09, .05, 1.E-7, .0041};
00553 static const std::pair<G4int, const G4double*> Z22N28(28,pZ22N28);
00554 static const std::pair<G4int, const G4double*> Z22[N22]={Z22N24, Z22N25, Z22N26,
00555 Z22N27, Z22N28};
00556
00557 static const G4int N23=2;
00558 static const G4double pZ23N27[7]={.3E-9, 2., 8.E-7, .55E-9, .07, 1.7E-7, .0055};
00559 static const std::pair<G4int, const G4double*> Z23N27(27,pZ23N27);
00560 static const G4double pZ23N28[7]={.3E-9, 2., 8.E-7, .55E-9, .07, 1.7E-7, .0055};
00561 static const std::pair<G4int, const G4double*> Z23N28(28,pZ23N28);
00562 static const std::pair<G4int, const G4double*> Z23[N23]={Z23N27, Z23N28};
00563
00564 static const G4int N24=4;
00565 static const G4double pZ24N26[7]={1.2E-9, 2.8, 1.E-6, 1.7E-9, .07, 1.7E-7, .0026};
00566 static const std::pair<G4int, const G4double*> Z24N26(26,pZ24N26);
00567 static const G4double pZ24N28[7]={4.4E-6, 11., .0012, 5.E-9, .04, 3.E-7, .0032};
00568 static const std::pair<G4int, const G4double*> Z24N28(28,pZ24N28);
00569 static const G4double pZ24N29[7]={1.8E-9, 2.4, 6.3E-6, .5E-9, .07, 2.E-7, .0085};
00570 static const std::pair<G4int, const G4double*> Z24N29(29,pZ24N29);
00571 static const G4double pZ24N30[7]={4.8E-8, 2.8, 4.4E-5, 1.4E-9, .07, 2.E-7, .0027};
00572 static const std::pair<G4int, const G4double*> Z24N30(30,pZ24N30);
00573 static const std::pair<G4int, const G4double*> Z24[N24]={Z24N26, Z24N28, Z24N29, Z24N30};
00574
00575 static const G4int N25=1;
00576 static const G4double pZ25N30[7]={6.5E-11, 1.4, 1.E-7, .8E-9, .07, 1.7E-7, .0022};
00577 static const std::pair<G4int, const G4double*> Z25N30(30,pZ25N30);
00578 static const std::pair<G4int, const G4double*> Z25[N25]={Z25N30};
00579
00580 static const G4int N26=4;
00581 static const G4double pZ26N28[7]={3.9E-8, 5., 1.7E-5, 3.E-9, .07, 3.E-7, .0023};
00582 static const std::pair<G4int, const G4double*> Z26N28(28,pZ26N28);
00583 static const G4double pZ26N30[7]={5.E-9, .4, 1.5E-4, 4.E-11, .1, 3.E-7, .012};
00584 static const std::pair<G4int, const G4double*> Z26N30(30,pZ26N30);
00585 static const G4double pZ26N31[7]={.5E-9, .5, 2.6E-6, .3E-9, .11, 5.E-7, .0027};
00586 static const std::pair<G4int, const G4double*> Z26N31(31,pZ26N31);
00587 static const G4double pZ26N32[7]={1.E-7, 3.1, 1.E-4, 1.3E-9, .11, 5.E-7, .0031};
00588 static const std::pair<G4int, const G4double*> Z26N32(32,pZ26N32);
00589 static const std::pair<G4int, const G4double*> Z26[N26]={Z26N28, Z26N30, Z26N31, Z26N32};
00590
00591 static const G4int N27=2;
00592 static const G4double pZ27N31[7]={4.E-7, 3., .004, 0., .11, 4.5E-7, .07};
00593 static const std::pair<G4int, const G4double*> Z27N31(31,pZ27N31);
00594 static const G4double pZ27N32[7]={4.E-7, 5., 5.E-4, 1.2E-9, .13, 6.E-7, .006};
00595 static const std::pair<G4int, const G4double*> Z27N32(32,pZ27N32);
00596 static const std::pair<G4int, const G4double*> Z27[N27]={Z27N32, Z27N31};
00597
00598 static const G4int N28=6;
00599 static const G4double pZ28N30[7]={1.E-7, 2.5, .001, .14E-9, .13, 6.E-7, .025};
00600 static const std::pair<G4int, const G4double*> Z28N30(30,pZ28N30);
00601 static const G4double pZ28N31[7]={1.E-7, 19., 1.2E-5, 1.E-8, 4.E-12, 3.E-22, .0024};
00602 static const std::pair<G4int, const G4double*> Z28N31(31,pZ28N31);
00603 static const G4double pZ28N32[7]={1.E-8, 2.5, 3.9E-6, 3.5E-9, .13, 6.E-7, .001};
00604 static const std::pair<G4int, const G4double*> Z28N32(32,pZ28N32);
00605 static const G4double pZ28N33[7]={5.E-9, 2.6, 1.5E-5, .42E-9, .13, 7.E-7, .008};
00606 static const std::pair<G4int, const G4double*> Z28N33(33,pZ28N33);
00607 static const G4double pZ28N34[7]={.24E-9, 2., 1.2E-6, .25E-9, .13, 6.E-7, .0094};
00608 static const std::pair<G4int, const G4double*> Z28N34(34,pZ28N34);
00609 static const G4double pZ28N36[7]={1.E-8, 3., 5.5E-8, 2.8E-7, .12, 6.E-7, 1.6E-5};
00610 static const std::pair<G4int, const G4double*> Z28N36(36,pZ28N36);
00611 static const std::pair<G4int, const G4double*> Z28[N28]={Z28N30, Z28N31, Z28N32, Z28N33,
00612 Z28N34, Z28N36};
00613
00614 static const G4int N29=2;
00615 static const G4double pZ29N34[7]={1.1E-7, 3.5, 1.6E-4, .9E-9, .13, 7.E-7, .005};
00616 static const std::pair<G4int, const G4double*> Z29N34(34,pZ29N34);
00617 static const G4double pZ29N36[7]={1.1E-7, 3.5, 4.3E-4, .3E-9, .13, 7.E-7, .013};
00618 static const std::pair<G4int, const G4double*> Z29N36(36,pZ29N36);
00619 static const std::pair<G4int, const G4double*> Z29[N29]={Z29N34, Z29N36};
00620
00621 static const G4int N30=5;
00622 static const G4double pZ30N34[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
00623 static const std::pair<G4int, const G4double*> Z30N34(34,pZ30N34);
00624 static const G4double pZ30N36[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
00625 static const std::pair<G4int, const G4double*> Z30N36(36,pZ30N36);
00626 static const G4double pZ30N37[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
00627 static const std::pair<G4int, const G4double*> Z30N37(37,pZ30N37);
00628 static const G4double pZ30N38[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
00629 static const std::pair<G4int, const G4double*> Z30N38(38,pZ30N38);
00630 static const G4double pZ30N40[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
00631 static const std::pair<G4int, const G4double*> Z30N40(40,pZ30N40);
00632 static const std::pair<G4int, const G4double*> Z30[N30]={Z30N34, Z30N36, Z30N37,
00633 Z30N38, Z30N40};
00634
00635 static const G4int N31=2;
00636 static const G4double pZ31N38[7]={5.E-8, 3.7, 1.1E-4, .55E-9, .17, 8.4E-7, .0076};
00637 static const std::pair<G4int, const G4double*> Z31N38(38,pZ31N38);
00638 static const G4double pZ31N40[7]={1.E-8, 3.1, 1.7E-5, .7E-9, .17, 9.E-7, .0048};
00639 static const std::pair<G4int, const G4double*> Z31N40(40,pZ31N40);
00640 static const std::pair<G4int, const G4double*> Z31[N31]={Z31N38, Z31N40};
00641
00642 static const G4int N32=5;
00643 static const G4double pZ32N38[7]={5.E-5, 4., .17, .35E-9, .17, 9.E-7, .013};
00644 static const std::pair<G4int, const G4double*> Z32N38(38,pZ32N38);
00645 static const G4double pZ32N40[7]={5.E-7, 4.4, .001, .6E-9, .17, 9.E-7, .008};
00646 static const std::pair<G4int, const G4double*> Z32N40(40,pZ32N40);
00647 static const G4double pZ32N41[7]={5.E-9, 3., 8.E-6, .7E-9, .17, 1.E-6, .0043};
00648 static const std::pair<G4int, const G4double*> Z32N41(41,pZ32N41);
00649 static const G4double pZ32N42[7]={1.E-7, 4.2, 1.7E-4, .7E-9, .17, 1.E-6, .0065};
00650 static const std::pair<G4int, const G4double*> Z32N42(42,pZ32N42);
00651 static const G4double pZ32N44[7]={1.E-6, 4.6, .0018, .6E-9, .17, 1.E-6, .0073};
00652 static const std::pair<G4int, const G4double*> Z32N44(44,pZ32N44);
00653 static const std::pair<G4int, const G4double*> Z32[N32]={Z32N38, Z32N40, Z32N41,
00654 Z32N42, Z32N44};
00655
00656 static const G4int N33=2;
00657 static const G4double pZ33N41[7]={1.E-8, 3.4, 1.5E-5, .72E-9, .17, 1.E-6, .0045};
00658 static const std::pair<G4int, const G4double*> Z33N41(41,pZ33N41);
00659 static const G4double pZ33N42[7]={1.E-8, 4.1, 1.3E-5, .75E-9, .2, 1.2E-6, .0048};
00660 static const std::pair<G4int, const G4double*> Z33N42(42,pZ33N42);
00661 static const std::pair<G4int, const G4double*> Z33[N33]={Z33N41, Z33N42};
00662
00663 static const G4int N34=7;
00664 static const G4double pZ34N40[7]={6.E-8, 7.2, 6.E-5, 1.E-9, .32, 2.E-6, .0063};
00665 static const std::pair<G4int, const G4double*> Z34N40(40,pZ34N40);
00666 static const G4double pZ34N42[7]={4.E-5, 7.4, .1, .43E-9, .34, 2.1E-6, .016};
00667 static const std::pair<G4int, const G4double*> Z34N42(42,pZ34N42);
00668 static const G4double pZ34N43[7]={1.E-7, 6.2, 1.4E-4, .9E-9, .34, 2.1E-6, .0075};
00669 static const std::pair<G4int, const G4double*> Z34N43(43,pZ34N43);
00670 static const G4double pZ34N44[7]={1.E-7, 6.6, 1.3E-4, .9E-9, .34, 2.1E-6, .0075};
00671 static const std::pair<G4int, const G4double*> Z34N44(44,pZ34N44);
00672 static const G4double pZ34N45[7]={5.E-8, 6.6, 4.8E-5, 1.2E-9, .4, 2.6E-6, .0055};
00673 static const std::pair<G4int, const G4double*> Z34N45(45,pZ34N45);
00674 static const G4double pZ34N46[7]={2.E-7, 7.7, 1.3E-4, 1.7E-9, .34, 2.1E-6, .0043};
00675 static const std::pair<G4int, const G4double*> Z34N46(46,pZ34N46);
00676 static const G4double pZ34N48[7]={2.E-7, 8.3, 1.2E-4, 1.7E-9, .34, 2.1E-6, .0043};
00677 static const std::pair<G4int, const G4double*> Z34N48(48,pZ34N48);
00678 static const std::pair<G4int, const G4double*> Z34[N34]={Z34N40, Z34N42, Z34N43, Z34N44,
00679 Z34N45, Z34N46, Z34N48};
00680
00681 static const G4int N35=2;
00682 static const G4double pZ35N44[7]={5.E-8, 6., 2.8E-5, 2.E-9, .34, 2.1E-6, .0028};
00683 static const std::pair<G4int, const G4double*> Z35N44(44,pZ35N44);
00684 static const G4double pZ35N46[7]={4.E-8, 6.2, 3.7E-5, 1.1E-9, .34, 2.1E-6, .0049};
00685 static const std::pair<G4int, const G4double*> Z35N46(46,pZ35N46);
00686 static const std::pair<G4int, const G4double*> Z35[N35]={Z35N44, Z35N46};
00687
00688 static const G4int N36=7;
00689 static const G4double pZ36N42[7]={1.6E-7, 6.8, 2.E-4, .8E-9, .35, 2.1E-6, .0076};
00690 static const std::pair<G4int, const G4double*> Z36N42(42,pZ36N42);
00691 static const G4double pZ36N44[7]={1.6E-7, 7.3, 1.6E-4, 1.E-9, .35, 2.1E-6, .0062};
00692 static const std::pair<G4int, const G4double*> Z36N44(44,pZ36N44);
00693 static const G4double pZ36N46[7]={1.6E-7, 7.3, 3.3E-4, .7E-9, .35, 2.1E-6, .013};
00694 static const std::pair<G4int, const G4double*> Z36N46(46,pZ36N46);
00695 static const G4double pZ36N47[7]={1.6E-6, 7.3, .003, .6E-9, .35, 2.1E-6, .011};
00696 static const std::pair<G4int, const G4double*> Z36N47(47,pZ36N47);
00697 static const G4double pZ36N48[7]={1.6E-7, 7.8, 7.6E-5, 2.E-9, .35, 2.1E-6, .0031};
00698 static const std::pair<G4int, const G4double*> Z36N48(48,pZ36N48);
00699 static const G4double pZ36N49[7]={6.E-7, 8., 4.8E-4, 1.4E-9, .27, 2.1E-6, .0053};
00700 static const std::pair<G4int, const G4double*> Z36N49(49,pZ36N49);
00701 static const G4double pZ36N50[7]={4.E-7, 8.1, 2.7E-4, 1.6E-9, .35, 2.1E-6, .0045};
00702 static const std::pair<G4int, const G4double*> Z36N50(50,pZ36N50);
00703 static const std::pair<G4int, const G4double*> Z36[N36]={Z36N42, Z36N44, Z36N46,
00704 Z36N47, Z36N48, Z36N49, Z36N50};
00705
00706 static const G4int N37=3;
00707 static const G4double pZ37N48[7]={1.6E-7, 7.2, 1.4E-4, 1.2E-9, .35, 2.1E-6, .0052};
00708 static const std::pair<G4int, const G4double*> Z37N48(48,pZ37N48);
00709 static const G4double pZ37N49[7]={8.E-8, 7.1, 4.7E-5, 1.6E-9, .27, 2.1E-6, .0034};
00710 static const std::pair<G4int, const G4double*> Z37N49(49,pZ37N49);
00711 static const G4double pZ37N50[7]={1.E-7, 8., 5.5E-5, 1.9E-9, .27, 1.5E-6, .0036};
00712 static const std::pair<G4int, const G4double*> Z37N50(50,pZ37N50);
00713 static const std::pair<G4int, const G4double*> Z37[N37]={Z37N48, Z37N49, Z37N50};
00714
00715 static const G4int N38=6;
00716 static const G4double pZ38N46[7]={8.E-8, 7.3, 6.E-5, 1.3E-9, .27, 2.E-6, .0045};
00717 static const std::pair<G4int, const G4double*> Z38N46(46,pZ38N46);
00718 static const G4double pZ38N48[7]={8.E-8, 9.7, 2.3E-5, 3.5E-9, .4, 2.7E-6, .0023};
00719 static const std::pair<G4int, const G4double*> Z38N48(48,pZ38N48);
00720 static const G4double pZ38N49[7]={2.6E-7, 9.5, 1.9E-4, 1.5E-9, .4, 2.7E-6, .0057};
00721 static const std::pair<G4int, const G4double*> Z38N49(49,pZ38N49);
00722 static const G4double pZ38N50[7]={2.6E-7, 9.5, 2.E-4, 1.4E-9, .37, 3.2E-6, .0059};
00723 static const std::pair<G4int, const G4double*> Z38N50(50,pZ38N50);
00724 static const G4double pZ38N51[7]={1.3E-7, 9.9, 7.5E-5, 1.7E-9, .37, 3.2E-6, .0046};
00725 static const std::pair<G4int, const G4double*> Z38N51(51,pZ38N51);
00726 static const G4double pZ38N52[7]={2.6E-7, 9.6, 1.6E-4, 1.8E-9, .37, 2.7E06, .0047};
00727 static const std::pair<G4int, const G4double*> Z38N52(52,pZ38N52);
00728 static const std::pair<G4int, const G4double*> Z38[N38]={Z38N46, Z38N48, Z38N49, Z38N50,
00729 Z38N51, Z38N52};
00730
00731 static const G4int N39=3;
00732 static const G4double pZ39N50[7]={2.6E-7, 9.9, 2.E-4, 1.1E-9, .37, 3.2E-6, .0062};
00733 static const std::pair<G4int, const G4double*> Z39N50(50,pZ39N50);
00734 static const G4double pZ39N51[7]={2.7E-5, 20., .013, 2.2E-9, .37, 1.9E-6, .0078};
00735 static const std::pair<G4int, const G4double*> Z39N51(51,pZ39N51);
00736 static const G4double pZ39N52[7]={2.E-7, 9.6, 1.2E-4, 1.7E-9, .37, 3.E-6, .0046};
00737 static const std::pair<G4int, const G4double*> Z39N52(52,pZ39N52);
00738 static const std::pair<G4int, const G4double*> Z39[N39]={Z39N50, Z39N51, Z39N52};
00739
00740 static const G4int N40=7;
00741 static const G4double pZ40N50[7]={1.E-7, 9., 6.2E-5, 1.7E-9, .3, 3.E-6, .0044};
00742 static const std::pair<G4int, const G4double*> Z40N50(50,pZ40N50);
00743 static const G4double pZ40N51[7]={5.E-7, 9.8, 5.E-4, 1.E-9, .25, 2.1E-6, .0079};
00744 static const std::pair<G4int, const G4double*> Z40N51(51,pZ40N51);
00745 static const G4double pZ40N52[7]={3.E-7, 9.6, 2.2E-4, 1.2E-9, .25, 2.2E-6, .0056};
00746 static const std::pair<G4int, const G4double*> Z40N52(52,pZ40N52);
00747 static const G4double pZ40N53[7]={2.E-7, 9.6, 1.2E-4, 1.6E-9, .38, 2.9E-6, .0046};
00748 static const std::pair<G4int, const G4double*> Z40N53(53,pZ40N53);
00749 static const G4double pZ40N54[7]={2.E-7, 9.6, 1.8E-4, 1.1E-9, .25, 2.1E-6, .0067};
00750 static const std::pair<G4int, const G4double*> Z40N54(54,pZ40N54);
00751 static const G4double pZ40N55[7]={1.8E-7, 9.4, 1.1E-4, 1.6E-9, .33, 2.3E-6, .0045};
00752 static const std::pair<G4int, const G4double*> Z40N55(55,pZ40N55);
00753 static const G4double pZ40N56[7]={1.8E-7, 9.4, 1.1E-4, 1.6E-9, .2, 1.5E-6, .0045};
00754 static const std::pair<G4int, const G4double*> Z40N56(56,pZ40N56);
00755 static const std::pair<G4int, const G4double*> Z40[N40]={Z40N50, Z40N51, Z40N52, Z40N53,
00756 Z40N54, Z40N55, Z40N56};
00757
00758 static const G4int N41=3;
00759 static const G4double pZ41N52[7]={2.6E-7, 8.3, 2.E-4, 1.2E-9, .4, 4.E-6, .0051};
00760 static const std::pair<G4int, const G4double*> Z41N52(52,pZ41N52);
00761 static const G4double pZ41N53[7]={2.E-7, 8.3, 1.6E-4, 1.4E-9, .35, 2.5E-6, .0051};
00762 static const std::pair<G4int, const G4double*> Z41N53(53,pZ41N53);
00763 static const G4double pZ41N54[7]={1.5E-7, 8.6, 1.E-4, 1.5E-9, .35, 2.5E-6, .0045};
00764 static const std::pair<G4int, const G4double*> Z41N54(54,pZ41N54);
00765 static const std::pair<G4int, const G4double*> Z41[N41]={Z41N52, Z41N52, Z41N52};
00766
00767 static const G4int N42=8;
00768 static const G4double pZ42N50[7]={2.E-7, 10., 1.1E-4, 1.8E-9, .3, 2.7E-6, .0044};
00769 static const std::pair<G4int, const G4double*> Z42N50(50,pZ42N50);
00770 static const G4double pZ42N52[7]={2.1E-7, 10., 1.2E-4, 1.7E-9, .3, 2.8E-6, .0046};
00771 static const std::pair<G4int, const G4double*> Z42N52(52,pZ42N52);
00772 static const G4double pZ42N53[7]={3.E-7, 10., 1.9E-4, 1.5E-9, .29, 3.E-6, .005};
00773 static const std::pair<G4int, const G4double*> Z42N53(53,pZ42N53);
00774 static const G4double pZ42N54[7]={1.5E-7, 10., 7.1E-5, 2.1E-9, .29, 2.9E-6, .0037};
00775 static const std::pair<G4int, const G4double*> Z42N54(54,pZ42N54);
00776 static const G4double pZ42N55[7]={1.9E-7, 9., 1.4E-4, 1.3E-9, .29, 2.8E-6, .0052};
00777 static const std::pair<G4int, const G4double*> Z42N55(55,pZ42N55);
00778 static const G4double pZ42N56[7]={1.9E-7, 9.9, 1.1E-4, 1.8E-9, .29, 2.4E-6, .0044};
00779 static const std::pair<G4int, const G4double*> Z42N56(56,pZ42N56);
00780 static const G4double pZ42N57[7]={1.4E-7, 8., 1.E-4, 1.4E-9, .34, 2.5E-6, .0044};
00781 static const std::pair<G4int, const G4double*> Z42N57(57,pZ42N57);
00782 static const G4double pZ42N58[7]={1.8E-7, 9.5, 1.E-4, 1.7E-9, .27, 2.2E-6, .0041};
00783 static const std::pair<G4int, const G4double*> Z42N58(58,pZ42N58);
00784 static const std::pair<G4int, const G4double*> Z42[N42]={Z42N50, Z42N52, Z42N53, Z42N54,
00785 Z42N55, Z42N56, Z42N57, Z42N58};
00786
00787 static const G4int N43=1;
00788 static const G4double pZ43N56[7]={1.E-7, 8., 7.2E-5, 1.4E-9, .24, 2.5E-6, .0044};
00789 static const std::pair<G4int, const G4double*> Z43N56(56,pZ43N56);
00790 static const std::pair<G4int, const G4double*> Z43[N43]={Z43N56};
00791
00792 static const G4int N44=9;
00793 static const G4double pZ44N52[7]={1.9E-7, 10., 1.E-4, 2.1E-9, .4, 4.E-6, .004};
00794 static const std::pair<G4int, const G4double*> Z44N52(52,pZ44N52);
00795 static const G4double pZ44N54[7]={1.5E-7, 10., 7.7E-5, 2.1E-9, .29, 2.9E-6, .004};
00796 static const std::pair<G4int, const G4double*> Z44N54(54,pZ44N54);
00797 static const G4double pZ44N55[7]={1.8E-7, 10., 6.6E-5, 2.6E-9, .47, 4.6E-6, .0028};
00798 static const std::pair<G4int, const G4double*> Z44N55(55,pZ44N55);
00799 static const G4double pZ44N56[7]={1.8E-6, 10., .0017, 1.1E-9, .47, 6.E-6, .0073};
00800 static const std::pair<G4int, const G4double*> Z44N56(56,pZ44N56);
00801 static const G4double pZ44N57[7]={1.8E-7, 7.8, 1.3E-4, 1.4E-9, .42, 5.E-6, .0043};
00802 static const std::pair<G4int, const G4double*> Z44N57(57,pZ44N57);
00803 static const G4double pZ44N58[7]={1.7E-6, 9.8, .0015, 1.2E-9, .32, 4.E-6, .0065};
00804 static const std::pair<G4int, const G4double*> Z44N58(58,pZ44N58);
00805 static const G4double pZ44N59[7]={3.3E-7, 8.7, 1.9E-4, 1.6E-9, .32, 3.8E-6, .0038};
00806 static const std::pair<G4int, const G4double*> Z44N59(59,pZ44N59);
00807 static const G4double pZ44N60[7]={3.E-7, 8.7, 1.8E-4, 1.6E-9, .3, 3.2E-6, .004};
00808 static const std::pair<G4int, const G4double*> Z44N60(60,pZ44N60);
00809 static const G4double pZ44N61[7]={3.E-7, 8.8, 1.4E-4, 1.9E-9, .3, 3.2E-6, .003};
00810 static const std::pair<G4int, const G4double*> Z44N61(61,pZ44N61);
00811 static const std::pair<G4int, const G4double*> Z44[N44]={Z44N52, Z44N54, Z44N55, Z44N56,
00812 Z44N57, Z44N58, Z44N59, Z44N60,
00813 Z44N61};
00814
00815 static const G4int N45=2;
00816 static const G4double pZ45N58[7]={8.E-8, 8.7, 4.E-5, 1.8E-9, .29, 2.9E-6, .0033};
00817 static const std::pair<G4int, const G4double*> Z45N58(58,pZ45N58);
00818 static const G4double pZ45N60[7]={8.E-8, 8.7, .09, 1.3E-12, .29, 2.9E-6, 7.};
00819 static const std::pair<G4int, const G4double*> Z45N60(60,pZ45N60);
00820 static const std::pair<G4int, const G4double*> Z45[N45]={Z45N58, Z45N60};
00821
00822 static const G4int N46=7;
00823 static const G4double pZ46N56[7]={2.E-7, 9.9, 1.2E-4, 1.5E-9, .35, 3.3E-6, .0045};
00824 static const std::pair<G4int, const G4double*> Z46N56(56,pZ46N56);
00825 static const G4double pZ46N58[7]={2.E-7, 9.9, 9.5E-5, 1.8E-9, .4, 4.E-6, .0036};
00826 static const std::pair<G4int, const G4double*> Z46N58(58,pZ46N58);
00827 static const G4double pZ46N59[7]={5.6E-7, 9., 4.6E-4, 1.2E-9, .5, 4.8E-6, .0056};
00828 static const std::pair<G4int, const G4double*> Z46N59(59,pZ46N59);
00829 static const G4double pZ46N60[7]={2.4E-7, 9.2, 1.2E-4, 1.8E-9, .47, 4.6E-6, .0035};
00830 static const std::pair<G4int, const G4double*> Z46N60(60,pZ46N60);
00831 static const G4double pZ46N61[7]={1.2E-7, 9.2, 4.4E-5, 2.8E-9, .5, 4.3E-6, .0025};
00832 static const std::pair<G4int, const G4double*> Z46N61(61,pZ46N61);
00833 static const G4double pZ46N62[7]={1.2E-7, 9.2, 3.2E-5, 3.4E-9, .48, 4.5E-6, .0018};
00834 static const std::pair<G4int, const G4double*> Z46N62(62,pZ46N62);
00835 static const G4double pZ46N64[7]={4.E-7, 9.1, 2.5E-4, 1.5E-9, .48, 4.7E-6, .0042};
00836 static const std::pair<G4int, const G4double*> Z46N64(64,pZ46N64);
00837 static const std::pair<G4int, const G4double*> Z46[N46]={Z46N56, Z46N58, Z46N59,
00838 Z46N60, Z46N61, Z46N62, Z46N64};
00839
00840 static const G4int N47=4;
00841 static const G4double pZ47N60[7]={1.4E-6, 9.7, .0011, 1.4E-9, .55, 5.E-6, .0056};
00842 static const std::pair<G4int, const G4double*> Z47N60(60,pZ47N60);
00843 static const G4double pZ47N62[7]={3.E-8, 8.7, 8.5E-6, 3.5E-9, .6, 5.6E-6, .0018};
00844 static const std::pair<G4int, const G4double*> Z47N62(62,pZ47N62);
00845 static const G4double pZ47N63[7]={3.E-6, 9.5, .002, 1.5E-9, .58, 5.E-6, .0047};
00846 static const std::pair<G4int, const G4double*> Z47N63(63,pZ47N63);
00847 static const G4double pZ47N64[7]={1.5E-7, 9., 9.E-5, 1.7E-9, .58, 5.6E-6, .0039};
00848 static const std::pair<G4int, const G4double*> Z47N64(64,pZ47N64);
00849 static const std::pair<G4int, const G4double*> Z47[N47]={Z47N60, Z47N62, Z47N63, Z47N64};
00850
00851 static const G4int N48=9;
00852 static const G4double pZ48N58[7]={2.9E-7, 10., 1.3E-4, 1.9E-9, .4, 3.8E-6, .0034};
00853 static const std::pair<G4int, const G4double*> Z48N58(58,pZ48N58);
00854 static const G4double pZ48N60[7]={2.3E-7, 10., 8.2E-5, 2.5E-9, .5, 4.7E-6, .0026};
00855 static const std::pair<G4int, const G4double*> Z48N60(60,pZ48N60);
00856 static const G4double pZ48N62[7]={2.3E-7, 10., 9.9E-5, 2.5E-9, .5, 4.7E-6, .0031};
00857 static const std::pair<G4int, const G4double*> Z48N62(62,pZ48N62);
00858 static const G4double pZ48N63[7]={8.4E-7, 11., 4.3E-4, 1.8E-9, .5, 4.5E-6, .0042};
00859 static const std::pair<G4int, const G4double*> Z48N63(63,pZ48N63);
00860 static const G4double pZ48N64[7]={4.E-7, 11., 1.8E-4, 1.8E-9, .5, 4.6E-6, .0036};
00861 static const std::pair<G4int, const G4double*> Z48N64(64,pZ48N64);
00862 static const G4double pZ48N65[7]={1.6E-6, 12., .001, 0., .5, 4.6E-6, .013};
00863 static const std::pair<G4int, const G4double*> Z48N65(65,pZ48N65);
00864 static const G4double pZ48N66[7]={3.E-7, 11., 1.2E-4, 1.9E-9, .5, 4.6E-6, .0031};
00865 static const std::pair<G4int, const G4double*> Z48N66(66,pZ48N66);
00866 static const G4double pZ48N67[7]={3.8E-7, 11., 1.7E-4, 2.E-9, .6, 6.6E-6, .0035};
00867 static const std::pair<G4int, const G4double*> Z48N67(67,pZ48N67);
00868 static const G4double pZ48N68[7]={6.E-7, 11., 3.3E-4, 1.9E-9, .5, 4.6E-6, .0043};
00869 static const std::pair<G4int, const G4double*> Z48N68(68,pZ48N68);
00870 static const std::pair<G4int, const G4double*> Z48[N48]={Z48N58, Z48N60, Z48N62, Z48N63,
00871 Z48N64, Z48N65, Z48N66, Z48N67,
00872 Z48N68};
00873
00874 static const G4int N49=2;
00875 static const G4double pZ49N64[7]={2.7E-7, 12., 8.1E-5, 2.7E-9, .5, 5.E-6, .0026};
00876 static const std::pair<G4int, const G4double*> Z49N64(64,pZ49N64);
00877 static const G4double pZ49N66[7]={2.7E-7, 12., 5.5E-5, 4.E-9, .5, 5.E-6, .0018};
00878 static const std::pair<G4int, const G4double*> Z49N66(66,pZ49N66);
00879 static const std::pair<G4int, const G4double*> Z49[N49]={Z49N64, Z49N66};
00880
00881 static const G4int N50=14;
00882 static const G4double pZ50N62[7]={4.E-7, 11., 1.6E-4, 2.2E-9, .5, 4.5E-6, .0032};
00883 static const std::pair<G4int, const G4double*> Z50N62(62,pZ50N62);
00884 static const G4double pZ50N63[7]={4.1E-7, 11., 1.6E-4, 2.4E-9, .54, 6.E-6, .0031};
00885 static const std::pair<G4int, const G4double*> Z50N63(63,pZ50N63);
00886 static const G4double pZ50N64[7]={5.E-7, 12., 1.9E-4, 2.2E-9, .5, 4.4E-6, .0032};
00887 static const std::pair<G4int, const G4double*> Z50N64(64,pZ50N64);
00888 static const G4double pZ50N65[7]={1.E-5, 12., .0077, 1.4E-9, .5, 5.E-6, .0066};
00889 static const std::pair<G4int, const G4double*> Z50N65(65,pZ50N65);
00890 static const G4double pZ50N66[7]={5.E-7, 12., 1.8E-4, 2.4E-9, .5, 5.E-6, .0031};
00891 static const std::pair<G4int, const G4double*> Z50N66(66,pZ50N66);
00892 static const G4double pZ50N67[7]={1.E-6, 12., 4.4E-4, 1.8E-9, .5, 5.E-6, .0037};
00893 static const std::pair<G4int, const G4double*> Z50N67(67,pZ50N67);
00894 static const G4double pZ50N68[7]={5.E-7, 12., 2.E-4, 2.4E-9, .5, 5.E-6, .0033};
00895 static const std::pair<G4int, const G4double*> Z50N68(68,pZ50N68);
00896 static const G4double pZ50N69[7]={6.E-7, 12., 2.5E-4, 2.E-9, .5, 5.E-6, .0035};
00897 static const std::pair<G4int, const G4double*> Z50N69(69,pZ50N69);
00898 static const G4double pZ50N70[7]={1.E-6, 12., 4.7E-4, 2.E-9, .5, 5.E-6, .0039};
00899 static const std::pair<G4int, const G4double*> Z50N70(70,pZ50N70);
00900 static const G4double pZ50N72[7]={1.E-6, 12., 3.7E-4, 2.2E-9, .5, 5.E-6, .0031};
00901 static const std::pair<G4int, const G4double*> Z50N72(72,pZ50N72);
00902 static const G4double pZ50N73[7]={5.E-7, 12., 1.7E-4, 2.8E-9, .5, 5.E-6, .0028};
00903 static const std::pair<G4int, const G4double*> Z50N73(73,pZ50N73);
00904 static const G4double pZ50N74[7]={5.E-7, 12., 2.E-4, 2.E-9, .5, 5.E-6, .0033};
00905 static const std::pair<G4int, const G4double*> Z50N74(74,pZ50N74);
00906 static const G4double pZ50N75[7]={5.E-7, 12., 1.9E-4, 2.8E-9, .5, 5.E-6, .003};
00907 static const std::pair<G4int, const G4double*> Z50N75(75,pZ50N75);
00908 static const G4double pZ50N76[7]={5.E-7, 12., 1.7E-4, 2.8E-9, .5, 5.E-6, .0028};
00909 static const std::pair<G4int, const G4double*> Z50N76(76,pZ50N76);
00910 static const std::pair<G4int, const G4double*> Z50[N50]={Z50N62, Z50N63, Z50N64, Z50N65,
00911 Z50N66, Z50N67, Z50N68, Z50N69,
00912 Z50N70, Z50N72, Z50N73, Z50N74,
00913 Z50N75, Z50N76};
00914
00915 static const G4int N51=5;
00916 static const G4double pZ51N70[7]={6.E-7, 12., 2.E-4, 2.8E-9, .5, 5.E-6, .0028};
00917 static const std::pair<G4int, const G4double*> Z51N70(70,pZ51N70);
00918 static const G4double pZ51N72[7]={6.E-7, 12., 1.9E-4, 3.E-9, .5, 5.E-6, .0025};
00919 static const std::pair<G4int, const G4double*> Z51N72(72,pZ51N72);
00920 static const G4double pZ51N73[7]={1.1E-6, 12., 3.5E-4, 2.9E-9, .5, 5.E-6, .0026};
00921 static const std::pair<G4int, const G4double*> Z51N73(73,pZ51N73);
00922 static const G4double pZ51N74[7]={5.5E-7, 12., 1.9E-4, 2.9E-9, .5, 5.E-6, .0027};
00923 static const std::pair<G4int, const G4double*> Z51N74(74,pZ51N74);
00924 static const G4double pZ51N75[7]={6.E-7, 12., 2.E-4, 2.9E-9, .5, 5.E-6, .0027};
00925 static const std::pair<G4int, const G4double*> Z51N75(75,pZ51N75);
00926 static const std::pair<G4int, const G4double*> Z51[N51]={Z51N70, Z51N72, Z51N73, Z51N74,
00927 Z51N75};
00928
00929 static const G4int N52=11;
00930 static const G4double pZ52N68[7]={2.7E-7, 12., 8.4E-5, 3.2E-9, 1., 8.E-6, .0026};
00931 static const std::pair<G4int, const G4double*> Z52N68(68,pZ52N68);
00932 static const G4double pZ52N70[7]={2.7E-7, 12., 3.8E-5, 6.E-9, 1., 8.E-6, .0012};
00933 static const std::pair<G4int, const G4double*> Z52N70(70,pZ52N70);
00934 static const G4double pZ52N71[7]={2.7E-8, 12., 1.8E-6, 2.E-8, 1., 8.E-6, 4.8E-4};
00935 static const std::pair<G4int, const G4double*> Z52N71(71,pZ52N71);
00936 static const G4double pZ52N72[7]={2.6E-6, 14., .0014, 2.E-9, 1., 9.E-6, .005};
00937 static const std::pair<G4int, const G4double*> Z52N72(72,pZ52N72);
00938 static const G4double pZ52N73[7]={1.E-6, 14., 2.4E-4, 3.9E-9, 1., 9.E-6, .0022};
00939 static const std::pair<G4int, const G4double*> Z52N73(73,pZ52N73);
00940 static const G4double pZ52N74[7]={8.E-7, 14., 2.3E-4, 3.6E-9, 1.4, 1.3E-5, .0028};
00941 static const std::pair<G4int, const G4double*> Z52N74(74,pZ52N74);
00942 static const G4double pZ52N75[7]={8.E-7, 14., 2.1E-4, 3.6E-9, 1.4, 1.3E-5, .0025};
00943 static const std::pair<G4int, const G4double*> Z52N75(75,pZ52N75);
00944 static const G4double pZ52N76[7]={8.E-7, 14., 2.5E-4, 3.E-9, 1.4, 1.3E-5, .003};
00945 static const std::pair<G4int, const G4double*> Z52N76(76,pZ52N76);
00946 static const G4double pZ52N77[7]={5.E-7, 15., 1.2E-4, 4.3E-9, 1.4, 1.4E-5, .0023};
00947 static const std::pair<G4int, const G4double*> Z52N77(77,pZ52N77);
00948 static const G4double pZ52N78[7]={8.E-7, 14., 2.7E-4, 2.7E-9, 1.4, 1.3E-5, .0031};
00949 static const std::pair<G4int, const G4double*> Z52N78(78,pZ52N78);
00950 static const G4double pZ52N80[7]={4.7E-7, 14., 1.8E-4, 2.2E-9, .83, 1.E-5, .0036};
00951 static const std::pair<G4int, const G4double*> Z52N80(80,pZ52N80);
00952 static const std::pair<G4int, const G4double*> Z52[N52]={Z52N68, Z52N70, Z52N71, Z52N72,
00953 Z52N73, Z52N74, Z52N75, Z52N76,
00954 Z52N77, Z52N78, Z52N80};
00955
00956 static const G4int N53=5;
00957 static const G4double pZ53N74[7]={9.4E-7, 14., 2.5E-4, 3.E-9, .7, 7.3E-6, .0025};
00958 static const std::pair<G4int, const G4double*> Z53N74(74,pZ53N74);
00959 static const G4double pZ53N76[7]={2.1E-5, 14., .015, 1.1E-9, 1.1, 1.E-5, .007};
00960 static const std::pair<G4int, const G4double*> Z53N76(76,pZ53N76);
00961 static const G4double pZ53N77[7]={1.1E-6, 14., 2.4E-4, 3.3E-9, .9, 1.E-5, .0021};
00962 static const std::pair<G4int, const G4double*> Z53N77(77,pZ53N77);
00963 static const G4double pZ53N78[7]={5.5E-7, 14., 1.5E-4, 3.7E-9, 1.2, 1.2E-5, .0024};
00964 static const std::pair<G4int, const G4double*> Z53N78(78,pZ53N78);
00965 static const G4double pZ53N82[7]={3.2E-6, 14., .0017, 1.8E-9, .8, 8.E-6, .0024};
00966 static const std::pair<G4int, const G4double*> Z53N82(82,pZ53N82);
00967 static const std::pair<G4int, const G4double*> Z53[N53]={Z53N74, Z53N76, Z53N77, Z53N78,
00968 Z53N82};
00969
00970 static const G4int N54=12;
00971 static const G4double pZ54N69[7]={3.E-6, 14., 8.E-4, 3.7E-9, .9, 1.1E-5, .15};
00972 static const std::pair<G4int, const G4double*> Z54N69(69,pZ54N69);
00973 static const G4double pZ54N70[7]={1.5E-7, 14., 1.4E-6, 9.E-8, .7, 8.E-6, 9.5E-5};
00974 static const std::pair<G4int, const G4double*> Z54N70(70,pZ54N70);
00975 static const G4double pZ54N72[7]={1.5E-6, 14., 5.6E-4, 3.E-9, 1.2, 1.1E-5, .0036};
00976 static const std::pair<G4int, const G4double*> Z54N72(72,pZ54N72);
00977 static const G4double pZ54N74[7]={1.8E-6, 14., 8.8E-4, 2.E-9, 1.3, 1.2E-5, .0047};
00978 static const std::pair<G4int, const G4double*> Z54N74(74,pZ54N74);
00979 static const G4double pZ54N75[7]={1.E-6, 14., 2.6E-4, 3.7E-9, 1.5, 1.4E-5, .0024};
00980 static const std::pair<G4int, const G4double*> Z54N75(75,pZ54N75);
00981 static const G4double pZ54N76[7]={1.8E-6, 14., 8.E-4, 2.E-9, 1.2, 1.4E-5, .0042};
00982 static const std::pair<G4int, const G4double*> Z54N76(76,pZ54N76);
00983 static const G4double pZ54N77[7]={2.3E-7, 14., 1.9E-5, 9.E-9, 1.2, 1.4E-5, 7.7E-4};
00984 static const std::pair<G4int, const G4double*> Z54N77(77,pZ54N77);
00985 static const G4double pZ54N78[7]={6.E-7, 14., 1.6E-4, 3.E-9, 1.2, 1.4E-5, .0025};
00986 static const std::pair<G4int, const G4double*> Z54N78(78,pZ54N78);
00987 static const G4double pZ54N79[7]={6.E-7, 14., 1.6E-4, 3.3E-9, 1.6, 1.5E-5, .0024};
00988 static const std::pair<G4int, const G4double*> Z54N79(79,pZ54N79);
00989 static const G4double pZ54N80[7]={6.6E-7, 14., 2.1E-4, 2.5E-9, 1.2, 1.4E-5, .003};
00990 static const std::pair<G4int, const G4double*> Z54N80(80,pZ54N80);
00991 static const G4double pZ54N81[7]={.03, 40., 2.1, 2.5E-9, 1.E-16, 6.E-36, 140.};
00992 static const std::pair<G4int, const G4double*> Z54N81(81,pZ54N81);
00993 static const G4double pZ54N82[7]={3.1E-6, 14., .0019, 1.6E-9, 1., 1.3E-5, .0054};
00994 static const std::pair<G4int, const G4double*> Z54N82(82,pZ54N82);
00995 static const std::pair<G4int, const G4double*> Z54[N54]={Z54N69, Z54N70, Z54N72, Z54N74,
00996 Z54N75, Z54N76, Z54N77, Z54N78,
00997 Z54N79, Z54N80, Z54N81, Z54N82};
00998
00999 static const G4int N55=5;
01000 static const G4double pZ55N78[7]={1.4E-6, 14., 4.E-4, 3.E-9, 1.2, 1.4E-5, .0026};
01001 static const std::pair<G4int, const G4double*> Z55N78(78,pZ55N78);
01002 static const G4double pZ55N79[7]={.028, 14., 44., .5E-9, 1.2, 1.3E-5, .015};
01003 static const std::pair<G4int, const G4double*> Z55N79(79,pZ55N79);
01004 static const G4double pZ55N80[7]={2.E-6, 14., 9.5E-4, 2.E-9, 1.2, 1.4E-5, .0042};
01005 static const std::pair<G4int, const G4double*> Z55N80(80,pZ55N80);
01006 static const G4double pZ55N81[7]={2.5E-7, 14., 6.5E-5, 3.8E-9, 1.2, 1.4E-5, .0023};
01007 static const std::pair<G4int, const G4double*> Z55N81(81,pZ55N81);
01008 static const G4double pZ55N82[7]={2.5E-7, 14., 6.5E-5, 3.8E-9, 1.2, 1.4E-5, .0023};
01009 static const std::pair<G4int, const G4double*> Z55N82(82,pZ55N82);
01010 static const std::pair<G4int, const G4double*> Z55[N55]={Z55N78, Z55N79, Z55N80, Z55N81,
01011 Z55N82};
01012
01013 static const G4int N56=9;
01014 static const G4double pZ56N74[7]={4.E-7, 14., 2.8E-5, 1.2E-8, 1.2, 1.5E-5, 6.6E-4};
01015 static const std::pair<G4int, const G4double*> Z56N74(74,pZ56N74);
01016 static const G4double pZ56N76[7]={4.E-6, 14., .0022, 1.4E-9, 1.3, 1.6E-5, .0053};
01017 static const std::pair<G4int, const G4double*> Z56N76(76,pZ56N76);
01018 static const G4double pZ56N77[7]={2.E-7, 14., 3.7E-5, 5.E-9, 1.1, 1.5E-5, .0016};
01019 static const std::pair<G4int, const G4double*> Z56N77(77,pZ56N77);
01020 static const G4double pZ56N78[7]={1.6E-6, 14., 6.E-4, 2.E-9, 1.3, 1.6E-5, .0033};
01021 static const std::pair<G4int, const G4double*> Z56N78(78,pZ56N78);
01022 static const G4double pZ56N79[7]={5.E-7, 17., 8.E-5, 4.5E-9, 1.3, 1.6E-5, .0018};
01023 static const std::pair<G4int, const G4double*> Z56N79(79,pZ56N79);
01024 static const G4double pZ56N80[7]={2.E-6, 20., 3.E-4, 6.E-9, 1.3, 1.8E-5, .0019};
01025 static const std::pair<G4int, const G4double*> Z56N80(80,pZ56N80);
01026 static const G4double pZ56N81[7]={5.8E-6, 20., .0018, 3.E-9, 1.3, 1.7E-5, .0041};
01027 static const std::pair<G4int, const G4double*> Z56N81(81,pZ56N81);
01028 static const G4double pZ56N82[7]={2.7E-6, 20., 5.5E-4, 4.E-9, 1.4, 2.E-5, .0027};
01029 static const std::pair<G4int, const G4double*> Z56N82(82,pZ56N82);
01030 static const G4double pZ56N84[7]={1.1E-6, 21., 1.E-4, 9.E-9, 2., 2.7E-5, .0012};
01031 static const std::pair<G4int, const G4double*> Z56N84(84,pZ56N84);
01032 static const std::pair<G4int, const G4double*> Z56[N56]={Z56N74, Z56N76, Z56N77, Z56N78,
01033 Z56N79, Z56N80, Z56N81, Z56N82,
01034 Z56N84};
01035
01036 static const G4int N57=3;
01037 static const G4double pZ57N81[7]={2.7E-6, 20., .0017, 1.1E-9, 1.4, 2.E-5, .0083};
01038 static const std::pair<G4int, const G4double*> Z57N81(81,pZ57N81);
01039 static const G4double pZ57N82[7]={5.4E-6, 20., .0027, 1.5E-9, 1., 1.5E-5, .0065};
01040 static const std::pair<G4int, const G4double*> Z57N82(82,pZ57N82);
01041 static const G4double pZ57N83[7]={2.7E-6, 20., 2.6E-4, 6.E-9, 1.4, 2.E-5, .0012};
01042 static const std::pair<G4int, const G4double*> Z57N83(83,pZ57N83);
01043 static const std::pair<G4int, const G4double*> Z57[N57]={Z57N81, Z57N82, Z57N83};
01044
01045 static const G4int N58=8;
01046 static const G4double pZ58N78[7]={1.8E-6, 20., 3.7E-4, 4.E-9, 1.4, 2.E-5, .0028};
01047 static const std::pair<G4int, const G4double*> Z58N78(78,pZ58N78);
01048 static const G4double pZ58N80[7]={1.8E-6, 18., 2.6E-4, 6.E-9, 1.3, 2.1E-5, .0017};
01049 static const std::pair<G4int, const G4double*> Z58N80(80,pZ58N80);
01050 static const G4double pZ58N81[7]={.0018, 18., 2.9, .6E-9, 1.3, 2.E-5, .02};
01051 static const std::pair<G4int, const G4double*> Z58N81(81,pZ58N81);
01052 static const G4double pZ58N82[7]={1.8E-6, 18., 3.7E-4, 5.E-9, 1.3, 2.E-5, .0024};
01053 static const std::pair<G4int, const G4double*> Z58N82(82,pZ58N82);
01054 static const G4double pZ58N83[7]={7.2E-6, 20., .0025, 2.3E-9, 1.1, 1.7E-5, .0045};
01055 static const std::pair<G4int, const G4double*> Z58N83(83,pZ58N83);
01056 static const G4double pZ58N84[7]={1.2E-6, 18., 2.E-4, 6.E-9, 1.5, 1.9E-5, .0018};
01057 static const std::pair<G4int, const G4double*> Z58N84(84,pZ58N84);
01058 static const G4double pZ58N85[7]={1.2E-6, 16., 6.E-4, 1.7E-9, 1.4, 2.E-5, .0053};
01059 static const std::pair<G4int, const G4double*> Z58N85(85,pZ58N85);
01060 static const G4double pZ58N86[7]={6.E-7, 18., 1.E-4, 6.E-9, 1.5, 1.9E-5, .0018};
01061 static const std::pair<G4int, const G4double*> Z58N86(86,pZ58N86);
01062 static const std::pair<G4int, const G4double*> Z58[N58]={Z58N78, Z58N80, Z58N81, Z58N82,
01063 Z58N83, Z58N84, Z58N85, Z58N86};
01064
01065 static const G4int N59=3;
01066 static const G4double pZ59N82[7]={9.5E-7, 16., 1.6E-4, 4.E-9, 1.4, 2.E-5, .0017};
01067 static const std::pair<G4int, const G4double*> Z59N82(82,pZ59N82);
01068 static const G4double pZ59N83[7]={9.5E-7, 16., 1.9E-4, 4.E-9, 1.4, 1.9E-5, .0021};
01069 static const std::pair<G4int, const G4double*> Z59N83(83,pZ59N83);
01070 static const G4double pZ59N84[7]={9.5E-6, 16., .019, .4E-9, 2., 2.4E-5, .021};
01071 static const std::pair<G4int, const G4double*> Z59N84(84,pZ59N84);
01072 static const std::pair<G4int, const G4double*> Z59[N59]={Z59N82, Z59N83, Z59N84};
01073
01074 static const G4int N60=8;
01075 static const G4double pZ60N82[7]={9.6E-6, 21., .0036, 2.3E-9, 1.4, 2.E-5, .0052};
01076 static const std::pair<G4int, const G4double*> Z60N82(82,pZ60N82);
01077 static const G4double pZ60N83[7]={9.6E-4, 20., 4., .25E-9, 1.4, 2.E-5, .052};
01078 static const std::pair<G4int, const G4double*> Z60N83(83,pZ60N83);
01079 static const G4double pZ60N84[7]={4.8E-7, 21., 3.3E-5, 1.E-08, 1.3, 2.2E-5, 9.E-4};
01080 static const std::pair<G4int, const G4double*> Z60N84(84,pZ60N84);
01081 static const G4double pZ60N85[7]={.0048, 20., 4.5, .9E-9, 1.3, 2.E-5, .012};
01082 static const std::pair<G4int, const G4double*> Z60N85(85,pZ60N85);
01083 static const G4double pZ60N86[7]={1.2E-6, 16., 7.7E-4, 1.5E-9, 1.3, 1.8E-5, .0066};
01084 static const std::pair<G4int, const G4double*> Z60N86(86,pZ60N86);
01085 static const G4double pZ60N87[7]={.0012, 15., 8.4, .1E-9, 1.3, 1.5E-5, .071};
01086 static const std::pair<G4int, const G4double*> Z60N87(87,pZ60N87);
01087 static const G4double pZ60N88[7]={1.5E-7, 16., 4.1E-5, 2.5E-9, 1.3, 1.6E-5, .0027};
01088 static const std::pair<G4int, const G4double*> Z60N88(88,pZ60N88);
01089 static const G4double pZ60N90[7]={1.5E-7, 16., 4.3E-5, 2.5E-9, 1.3, 1.6E-5, .0029};
01090 static const std::pair<G4int, const G4double*> Z60N90(90,pZ60N90);
01091 static const std::pair<G4int, const G4double*> Z60[N60]={Z60N82, Z60N83, Z60N84, Z60N85,
01092 Z60N86, Z60N87, Z60N88, Z60N90};
01093
01094 static const G4int N61=3;
01095 static const G4double pZ61N86[7]={6.E-7, 16., 8.E-4, .6E-9, 3., 2.8E-5, .014};
01096 static const std::pair<G4int, const G4double*> Z61N86(86,pZ61N86);
01097 static const G4double pZ61N87[7]={6.2E-8, 16., 1.2E-5, 4.E-9, 2.2, 2.5E-5, .0019};
01098 static const std::pair<G4int, const G4double*> Z61N87(87,pZ61N87);
01099 static const G4double pZ61N88[7]={3.2E-8, 16., 6.4E-6, 4.E-9, 2.2, 2.5E-5, .002};
01100 static const std::pair<G4int, const G4double*> Z61N88(88,pZ61N88);
01101 static const std::pair<G4int, const G4double*> Z61[N61]={Z61N86, Z61N87, Z61N88};
01102
01103 static const G4int N62=9;
01104 static const G4double pZ62N82[7]={1.2E-7, 16., 2.1E-5, 5.E-9, 1.4, 2.E-5, .0017};
01105 static const std::pair<G4int, const G4double*> Z62N82(82,pZ62N82);
01106 static const G4double pZ62N85[7]={1.2E-7, 16., 5.3E-5, 1.5E-9, 1.3, 1.7E-5, .0045};
01107 static const std::pair<G4int, const G4double*> Z62N85(85,pZ62N85);
01108 static const G4double pZ62N86[7]={6.E-8, 16., 1.7E-5, 3.E-9, 1.3, 1.7E-5, .0028};
01109 static const std::pair<G4int, const G4double*> Z62N86(86,pZ62N86);
01110 static const G4double pZ62N87[7]={6.E-8, 15., 5.2E-4, .11E-9, 1.3, 1.5E-5, .074};
01111 static const std::pair<G4int, const G4double*> Z62N87(87,pZ62N87);
01112 static const G4double pZ62N88[7]={6.E-7, 16., 8.6E-4, .7E-9, 1.3, 1.7E-5, .015};
01113 static const std::pair<G4int, const G4double*> Z62N88(88,pZ62N88);
01114 static const G4double pZ62N89[7]={6.E-7, 16., 5.E-4, 0., 1.3, 1.6E-5, .053};
01115 static const std::pair<G4int, const G4double*> Z62N89(89,pZ62N89);
01116 static const G4double pZ62N90[7]={6.E-8, 15., 1.3E-5, 4.5E-9, 1.3, 1.7E-5, .0019};
01117 static const std::pair<G4int, const G4double*> Z62N90(90,pZ62N90);
01118 static const G4double pZ62N91[7]={6.E-8, 15., 1.5E-5, 2.E-9, 1.3, 1.6E-5, .0024};
01119 static const std::pair<G4int, const G4double*> Z62N91(91,pZ62N91);
01120 static const G4double pZ62N92[7]={1.2E-7, 15., 8.6E-5, 1.2E-9, 1.3, 1.6E-5, .007};
01121 static const std::pair<G4int, const G4double*> Z62N92(92,pZ62N92);
01122 static const std::pair<G4int, const G4double*> Z62[N62]={Z62N82, Z62N85, Z62N86, Z62N87,
01123 Z62N88, Z62N89, Z62N90, Z62N91,
01124 Z62N92};
01125
01126 static const G4int N63=7;
01127 static const G4double pZ63N88[7]={6.E-8, 15., 2.8E-5, 2.E-9, 1.3, 1.5E-5, .0046};
01128 static const std::pair<G4int, const G4double*> Z63N88(88,pZ63N88);
01129 static const G4double pZ63N89[7]={6.E-7, 15., .0011, .5E-9, 2.4, 2.4E-5, .017};
01130 static const std::pair<G4int, const G4double*> Z63N89(89,pZ63N89);
01131 static const G4double pZ63N90[7]={3.E-7, 15., 1.8E-4, 1.1E-9, 1., 1.2E-5, .0054};
01132 static const std::pair<G4int, const G4double*> Z63N90(90,pZ63N90);
01133 static const G4double pZ63N91[7]={4.1E-7, 15., 1.4E-4, 1.9E-9, 1., 1.4E-5, .0032};
01134 static const std::pair<G4int, const G4double*> Z63N91(91,pZ63N91);
01135 static const G4double pZ63N92[7]={5.E-8, 15., 2.4E-5, 2.8E-9, 1., 1.3E-5, .0037};
01136 static const std::pair<G4int, const G4double*> Z63N92(92,pZ63N92);
01137 static const G4double pZ63N93[7]={4.1E-8, 17., 1.6E-5, 2.E-9, 3.3, 3.4E-5, .004};
01138 static const std::pair<G4int, const G4double*> Z63N93(93,pZ63N93);
01139 static const G4double pZ63N94[7]={4.2E-8, 17., 1.6E-5, 2.E-9, 1.2, 1.6E-5, .004};
01140 static const std::pair<G4int, const G4double*> Z63N94(94,pZ63N94);
01141 static const std::pair<G4int, const G4double*> Z63[N63]={Z63N88, Z63N89, Z63N90, Z63N91,
01142 Z63N92, Z63N93, Z63N94};
01143
01144 static const G4int N64=8;
01145 static const G4double pZ64N88[7]={4.2E-8, 14., 2.E-4, 0., 1.2, 1.3E-5, .19};
01146 static const std::pair<G4int, const G4double*> Z64N88(88,pZ64N88);
01147 static const G4double pZ64N89[7]={2.E-6, 14., .0016, 1.4E-9, 1.6, 1.6E-5, .0057};
01148 static const std::pair<G4int, const G4double*> Z64N89(89,pZ64N89);
01149 static const G4double pZ64N90[7]={1.7E-7, 12., 8.4E-5, 2.E-9, 1.8, 2.2E-5, .0035};
01150 static const std::pair<G4int, const G4double*> Z64N90(90,pZ64N90);
01151 static const G4double pZ64N91[7]={1.7E-7, 13., 5.E-4, .3E-9, 1.7, 1.9E-5, .026};
01152 static const std::pair<G4int, const G4double*> Z64N91(91,pZ64N91);
01153 static const G4double pZ64N92[7]={1.7E-7, 13., 7.E-5, 2.5E-9, 1.8, 2.2E-5, .003};
01154 static const std::pair<G4int, const G4double*> Z64N92(92,pZ64N92);
01155 static const G4double pZ64N93[7]={1.7E-6, 12., .002, 0., 1.7, 1.8E-5, .47};
01156 static const std::pair<G4int, const G4double*> Z64N93(93,pZ64N93);
01157 static const G4double pZ64N94[7]={3.4E-7, 13., 1.5E-4, 2.E-9, 1.8, 2.3E-5, .0034};
01158 static const std::pair<G4int, const G4double*> Z64N94(94,pZ64N94);
01159 static const G4double pZ64N96[7]={2.6E-6, 13., .0019, 1.2E-9, 1., 1.2E-5, .0056};
01160 static const std::pair<G4int, const G4double*> Z64N96(96,pZ64N96);
01161 static const std::pair<G4int, const G4double*> Z64[N64]={Z64N88, Z64N89, Z64N90, Z64N91,
01162 Z64N92, Z64N93, Z64N94, Z64N96};
01163
01164 static const G4int N65=2;
01165 static const G4double pZ65N94[7]={9.E-7, 16., 3.9E-4, 1.7E-9, 2., 2.2E-5, .0042};
01166 static const std::pair<G4int, const G4double*> Z65N94(94,pZ65N94);
01167 static const G4double pZ65N95[7]={4.5E-7, 16., 1.1E-4, 3.E-9, 1.7, 2.2E-5, .0024};
01168 static const std::pair<G4int, const G4double*> Z65N95(95,pZ65N95);
01169 static const std::pair<G4int, const G4double*> Z65[N65]={Z65N94, Z65N94};
01170
01171 static const G4int N66=7;
01172 static const G4double pZ66N90[7]={1.2E-7, 13., 4.E-5, 3.E-9, 1.2, 1.4E-5, .0025};
01173 static const std::pair<G4int, const G4double*> Z66N90(90,pZ66N90);
01174 static const G4double pZ66N92[7]={1.2E-7, 13., 6.7E-5, 2.E-9, 1., 1.1E-5, .004};
01175 static const std::pair<G4int, const G4double*> Z66N92(92,pZ66N92);
01176 static const G4double pZ66N94[7]={1.2E-7, 13., 5.3E-5, 1.6E-9, 1., 1.1E-5, .0034};
01177 static const std::pair<G4int, const G4double*> Z66N94(94,pZ66N94);
01178 static const G4double pZ66N95[7]={1.2E-6, 13., .0017, .7E-9, 1.3, 1.3E-5, .011};
01179 static const std::pair<G4int, const G4double*> Z66N95(95,pZ66N95);
01180 static const G4double pZ66N96[7]={1.2E-7, 13., 8.E-6, 1.5E-7, 1., 1.1E-5, 1.E-4};
01181 static const std::pair<G4int, const G4double*> Z66N96(96,pZ66N96);
01182 static const G4double pZ66N97[7]={1.5E-7, 13., 4.E-5, 4.E-9, 1.3, 1.3E-5, .002};
01183 static const std::pair<G4int, const G4double*> Z66N97(97,pZ66N97);
01184 static const G4double pZ66N98[7]={3.E-7, 13., .001, 4.E-9, 1.3, 1.3E-5, .23};
01185 static const std::pair<G4int, const G4double*> Z66N98(98,pZ66N98);
01186 static const std::pair<G4int, const G4double*> Z66[N66]={Z66N90, Z66N92, Z66N94, Z66N95,
01187 Z66N96, Z66N97, Z66N98};
01188
01189 static const G4int N67=2;
01190 static const G4double pZ67N98[7]={3.E-7, 13., 2.2E-4, 1.5E-9, 1., 1.E-5, .0054};
01191 static const std::pair<G4int, const G4double*> Z67N98(98,pZ67N98);
01192 static const G4double pZ67N99[7]={7.5E-8, 13., 2.6E-5, 4.5E-9, 1.5, 1.5E-5, .0021};
01193 static const std::pair<G4int, const G4double*> Z67N99(99,pZ67N99);
01194 static const std::pair<G4int, const G4double*> Z67[N67]={Z67N98, Z67N99};
01195
01196 static const G4int N68=6;
01197 static const G4double pZ68N94[7]={1.2E-7, 13., 7.8E-5, 1.6E-9, .9, 9.E-6, .005};
01198 static const std::pair<G4int, const G4double*> Z68N94(94,pZ68N94);
01199 static const G4double pZ68N96[7]={1.2E-7, 13., 8.5E-5, 1.2E-9, .9, 8.E-6, .0055};
01200 static const std::pair<G4int, const G4double*> Z68N96(96,pZ68N96);
01201 static const G4double pZ68N98[7]={1.E-6, 13., .0011, .8E-9, .9, 8.E-6, .0087};
01202 static const std::pair<G4int, const G4double*> Z68N98(98,pZ68N98);
01203 static const G4double pZ68N99[7]={1.2E-7, 13., 2.5E-5, 4.5E-9, .9, 9.E-6, .0015};
01204 static const std::pair<G4int, const G4double*> Z68N99(99,pZ68N99);
01205 static const G4double pZ68N100[7]={2.E-6, 13., .0015, 1.1E-9, .9, 8.E-6, .0058};
01206 static const std::pair<G4int, const G4double*> Z68N100(100,pZ68N100);
01207 static const G4double pZ68N102[7]={2.E-6, 13., .0018, 1.E-9, .9, 8.E-6, .007};
01208 static const std::pair<G4int, const G4double*> Z68N102(102,pZ68N102);
01209 static const std::pair<G4int, const G4double*> Z68[N68]={Z68N94, Z68N96, Z68N98,
01210 Z68N99, Z68N100, Z68N102};
01211
01212 static const G4int N69=1;
01213 static const G4double pZ69N100[7]={1.2E-7, 13., 2.5E-5, 4.5E-9, .9, 9.E-6, .0015};
01214 static const std::pair<G4int, const G4double*> Z69N100(100,pZ69N100);
01215 static const std::pair<G4int, const G4double*> Z69[N69]={Z69N100};
01216
01217
01218 static const G4int N70=7;
01219 static const G4double pZ70N98[7]={1.E-6, 13., .0011, .8E-9, .9, 8.E-6, .0087};
01220 static const std::pair<G4int, const G4double*> Z70N98(98,pZ70N98);
01221 static const G4double pZ70N100[7]={2.E-6, 13., .0015, 1.1E-9, .9, 8.E-6, .0058};
01222 static const std::pair<G4int, const G4double*> Z70N100(100,pZ70N100);
01223 static const G4double pZ70N101[7]={1.2E-7, 13., 2.5E-5, 4.5E-9, .9, 9.E-6, .0015};
01224 static const std::pair<G4int, const G4double*> Z70N101(101,pZ70N101);
01225 static const G4double pZ70N102[7]={2.E-6, 13., .0018, 1.E-9, .9, 8.E-6, .007};
01226 static const std::pair<G4int, const G4double*> Z70N102(102,pZ70N102);
01227 static const G4double pZ70N103[7]={5.E-7, 18., .01, 1.7E-6, 1.2, 1.4E-5, 1.4E-5};
01228 static const std::pair<G4int, const G4double*> Z70N103(103,pZ70N103);
01229 static const G4double pZ70N104[7]={5.E-7, 18., 1.9E-4, 2.5E-9, 1.2, 1.4E-5, .004};
01230 static const std::pair<G4int, const G4double*> Z70N104(104,pZ70N104);
01231 static const G4double pZ70N106[7]={5.E-7, 18., 1.3E-4, 2.E-9, 1.2, 1.4E-5, .0027};
01232 static const std::pair<G4int, const G4double*> Z70N106(106,pZ70N106);
01233 static const std::pair<G4int, const G4double*> Z70[N70]={Z70N98, Z70N100, Z70N101,
01234 Z70N102, Z70N103, Z70N104,
01235 Z70N106};
01236
01237 static const G4int N71=2;
01238 static const G4double pZ71N104[7]={5.E-7, 18., 1.8E-4, 2.E-9, .9, 9.E-6, .0036};
01239 static const std::pair<G4int, const G4double*> Z71N104(104,pZ71N104);
01240 static const G4double pZ71N105[7]={2.5E-7, 18., 9.E-5, 1.E-8, .9, 9.E-6, .0016};
01241 static const std::pair<G4int, const G4double*> Z71N105(105,pZ71N105);
01242 static const std::pair<G4int, const G4double*> Z71[N71]={Z71N104, Z71N105};
01243
01244 static const G4int N72=6;
01245 static const G4double pZ72N102[7]={1.E-6, 18., 8.8E-4, .8E-9, 1., 1.1E-5, .0092};
01246 static const std::pair<G4int, const G4double*> Z72N102(102,pZ72N102);
01247 static const G4double pZ72N104[7]={5.E-7, 18., 1.9E-4, 2.5E-9, 1.2, 1.4E-5, .004};
01248 static const std::pair<G4int, const G4double*> Z72N104(104,pZ72N104);
01249 static const G4double pZ72N105[7]={5.E-7, 18., .01, 1.7E-6, 1.2, 1.4E-5, 1.4E-5};
01250 static const std::pair<G4int, const G4double*> Z72N105(105,pZ72N105);
01251 static const G4double pZ72N106[7]={5.E-7, 18., 1.3E-4, 2.E-9, 1.2, 1.4E-5, .0027};
01252 static const std::pair<G4int, const G4double*> Z72N106(106,pZ72N106);
01253 static const G4double pZ72N107[7]={2.5E-7, 18., 1.E-4, 2.E-9, 1.2, 1.5E-5, .0041};
01254 static const std::pair<G4int, const G4double*> Z72N107(107,pZ72N107);
01255 static const G4double pZ72N108[7]={1.E-6, 18., .0012, .6E-9, 1.2, 1.5E-5, .012};
01256 static const std::pair<G4int, const G4double*> Z72N108(108,pZ72N108);
01257 static const std::pair<G4int, const G4double*> Z72[N72]={Z72N102, Z72N104, Z72N105,
01258 Z72N106, Z72N107, Z72N108};
01259
01260 static const G4int N73=2;
01261 static const G4double pZ73N108[7]={5.E-7, 18., 1.7E-4, 2.E-9, 1.2, 1.4E-5, .0035};
01262 static const std::pair<G4int, const G4double*> Z73N108(108,pZ73N108);
01263 static const G4double pZ73N109[7]={1.E-6, 14., .002, .3E-9, 1.3, 1.5E-5, .016};
01264 static const std::pair<G4int, const G4double*> Z73N109(109,pZ73N109);
01265 static const std::pair<G4int, const G4double*> Z73[N73]={Z73N108, Z73N108};
01266
01267 static const G4int N74=5;
01268 static const G4double pZ74N106[7]={5.E-7, 18., 1.3E-4, 2.E-9, 1.2, 1.4E-5, .0027};
01269 static const std::pair<G4int, const G4double*> Z74N106(106,pZ74N106);
01270 static const G4double pZ74N108[7]={4.E-6, 14., .0034, .9E-9, 1.3, 1.4E-5, .0067};
01271 static const std::pair<G4int, const G4double*> Z74N108(108,pZ74N108);
01272 static const G4double pZ74N109[7]={1.2E-7, 14., 3.E-5, 3.E-9, 1.3, 1.4E-5, .0019};
01273 static const std::pair<G4int, const G4double*> Z74N109(109,pZ74N109);
01274 static const G4double pZ74N110[7]={1.2E-7, 14., 3.6E-5, 2.E-9, 1.3, 1.3E-5, .0024};
01275 static const std::pair<G4int, const G4double*> Z74N110(110,pZ74N110);
01276 static const G4double pZ74N112[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
01277 static const std::pair<G4int, const G4double*> Z74N112(112,pZ74N112);
01278 static const std::pair<G4int, const G4double*> Z74[N74]={Z74N106, Z74N108, Z74N109,
01279 Z74N110, Z74N112};
01280
01281 static const G4int N75=2;
01282 static const G4double pZ75N110[7]={1.2E-7, 14., 8.E-5, 1.2E-9, 1.3, 1.5E-5, .005};
01283 static const std::pair<G4int, const G4double*> Z75N110(110,pZ75N110);
01284 static const G4double pZ75N112[7]={1.2E-7, 14., 8.8E-5, 1.1E-9, 1.3, 1.5E-5, .0055};
01285 static const std::pair<G4int, const G4double*> Z75N112(112,pZ75N112);
01286 static const std::pair<G4int, const G4double*> Z75[N75]={Z75N110, Z75N112};
01287
01288
01289 static const G4int N76=7;
01290 static const G4double pZ76N108[7]={4.E-6, 14., .0034, .9E-9, 1.3, 1.4E-5, .0067};
01291 static const std::pair<G4int, const G4double*> Z76N108(108,pZ76N108);
01292 static const G4double pZ76N110[7]={1.2E-7, 14., 3.6E-5, 2.E-9, 1.3, 1.3E-5, .0024};
01293 static const std::pair<G4int, const G4double*> Z76N110(110,pZ76N110);
01294 static const G4double pZ76N111[7]={1.2E-7, 14., 8.8E-5, 1.1E-9, 1.3, 1.5E-5, .0055};
01295 static const std::pair<G4int, const G4double*> Z76N111(111,pZ76N111);
01296 static const G4double pZ76N112[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
01297 static const std::pair<G4int, const G4double*> Z76N112(112,pZ76N112);
01298 static const G4double pZ76N113[7]={1.2E-7, 14., 8.8E-5, 1.1E-9, 1.3, 1.5E-5, .0055};
01299 static const std::pair<G4int, const G4double*> Z76N113(113,pZ76N113);
01300 static const G4double pZ76N114[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
01301 static const std::pair<G4int, const G4double*> Z76N114(114,pZ76N114);
01302 static const G4double pZ76N116[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
01303 static const std::pair<G4int, const G4double*> Z76N116(116,pZ76N116);
01304 static const std::pair<G4int, const G4double*> Z76[N76]={Z76N108, Z76N110, Z76N111,
01305 Z76N112, Z76N113, Z76N114,
01306 Z76N116};
01307
01308 static const G4int N77=2;
01309 static const G4double pZ77N114[7]={4.8E-7, 14., 5.2E-4, .7E-9, 1.5, 1.7E-5, .0082};
01310 static const std::pair<G4int, const G4double*> Z77N114(114,pZ77N114);
01311 static const G4double pZ77N116[7]={4.8E-7, 14., 4.5E-4, .8E-9, 1.8, 2.3E-5, .0073};
01312 static const std::pair<G4int, const G4double*> Z77N116(116,pZ77N116);
01313 static const std::pair<G4int, const G4double*> Z77[N77]={Z77N114, Z77N116};
01314
01315
01316 static const G4int N78=6;
01317 static const G4double pZ78N112[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
01318 static const std::pair<G4int, const G4double*> Z78N112(112,pZ78N112);
01319 static const G4double pZ78N114[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
01320 static const std::pair<G4int, const G4double*> Z78N114(114,pZ78N114);
01321 static const G4double pZ78N116[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
01322 static const std::pair<G4int, const G4double*> Z78N116(116,pZ78N116);
01323 static const G4double pZ78N117[7]={9.6E-7, 20., .001, .2E-9, 1.6, 2.E-5, .037};
01324 static const std::pair<G4int, const G4double*> Z78N117(117,pZ78N117);
01325 static const G4double pZ78N118[7]={2.4E-7, 20., 1.6E-4, 1.3E-9, 1.6, 1.8E-5, .007};
01326 static const std::pair<G4int, const G4double*> Z78N118(118,pZ78N118);
01327 static const G4double pZ78N120[7]={2.E-6, 19., .0015, .9E-9, 1.6, 1.8E-5, .0078};
01328 static const std::pair<G4int, const G4double*> Z78N120(120,pZ78N120);
01329 static const std::pair<G4int, const G4double*> Z78[N78]={Z78N112, Z78N114, Z78N116,
01330 Z78N117, Z78N118, Z78N120};
01331
01332 static const G4int N79=1;
01333 static const G4double pZ79N118[7]={2.4E-7, 19., 1.E-4, 1.4E-9, 1.3, 1.7E-5, .0042};
01334 static const std::pair<G4int, const G4double*> Z79N118(118,pZ79N118);
01335 static const std::pair<G4int, const G4double*> Z79[N79]={Z79N118};
01336
01337 static const G4int N80=7;
01338 static const G4double pZ80N116[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
01339 static const std::pair<G4int, const G4double*> Z80N116(116,pZ80N116);
01340 static const G4double pZ80N118[7]={2.4E-7, 20., 1.6E-4, 1.3E-9, 1.6, 1.8E-5, .007};
01341 static const std::pair<G4int, const G4double*> Z80N118(118,pZ80N118);
01342 static const G4double pZ80N119[7]={9.6E-7, 20., .001, .2E-9, 1.6, 2.E-5, .037};
01343 static const std::pair<G4int, const G4double*> Z80N119(119,pZ80N119);
01344 static const G4double pZ80N120[7]={2.E-6, 19., .0015, .9E-9, 1.6, 1.8E-5, .0078};
01345 static const std::pair<G4int, const G4double*> Z80N120(120,pZ80N120);
01346 static const G4double pZ80N121[7]={1.E-6, 20., 7.E-4, 1.E-9, 1.6, 1.8E-5, .0076};
01347 static const std::pair<G4int, const G4double*> Z80N121(121,pZ80N121);
01348 static const G4double pZ80N122[7]={2.E-6, 18., .0016, .8E-9, 1.6, 1.8E-5, .0078};
01349 static const std::pair<G4int, const G4double*> Z80N122(122,pZ80N122);
01350 static const G4double pZ80N124[7]={2.0E-6, 18., .0032, .4E-9, 1.6, 1.8E-5, .016};
01351 static const std::pair<G4int, const G4double*> Z80N124(124,pZ80N124);
01352 static const std::pair<G4int, const G4double*> Z80[N80]={Z80N116, Z80N118, Z80N119,
01353 Z80N120, Z80N121, Z80N122,
01354 Z80N124};
01355
01356 static const G4int N81=2;
01357 static const G4double pZ81N122[7]={2.4E-7, 19., 1.E-4, 1.4E-9, 1.3, 1.7E-5, .0042};
01358 static const std::pair<G4int, const G4double*> Z81N122(122,pZ81N122);
01359 static const G4double pZ81N124[7]={};
01360 static const std::pair<G4int, const G4double*> Z81N124(124,pZ81N124);
01361 static const std::pair<G4int, const G4double*> Z81[N81]={Z81N122, Z81N124};
01362
01363 static const G4int N82=4;
01364 static const G4double pZ82N122[7]={4.E-6, 20., .0022, 1.E-9, 1.6, 1.8E-5, .0058};
01365 static const std::pair<G4int, const G4double*> Z82N122(122,pZ82N122);
01366 static const G4double pZ82N124[7]={4.E-6, 20., .0022, 1.E-9, 1.6, 1.8E-5, .0058};
01367 static const std::pair<G4int, const G4double*> Z82N124(124,pZ82N124);
01368 static const G4double pZ82N125[7]={2.E-6, 20., .0011, 1.2E-9, 1.6, 1.8E-5, .0056};
01369 static const std::pair<G4int, const G4double*> Z82N125(125,pZ82N125);
01370 static const G4double pZ82N126[7]={4.E-6, 20., .0023, 1.2E-9, 1.6, 1.8E-5, .0058};
01371 static const std::pair<G4int, const G4double*> Z82N126(126,pZ82N126);
01372 static const std::pair<G4int, const G4double*> Z82[N82]={Z82N122, Z82N124, Z82N125,
01373 Z82N126};
01374
01375 static const G4int N83=1;
01376 static const G4double pZ83N126[7]={8.E-7, 23., 3.3E-4, 1.8E-9, 1.6, 1.8E-5, .005};
01377 static const std::pair<G4int, const G4double*> Z83N126(126,pZ83N126);
01378 static const std::pair<G4int, const G4double*> Z83[N83]={Z83N126};
01379
01380 static const G4int N84=1;
01381 static const G4double pZ84N125[7]={2.E-6, 20., .0011, 1.2E-9, 1.6, 1.8E-5, .0056};
01382 static const std::pair<G4int, const G4double*> Z84N125(125,pZ84N125);
01383 static const std::pair<G4int, const G4double*> Z84[N84]={Z84N125};
01384
01385 static const G4int N85=1;
01386 static const G4double pZ85N125[7]={2.E-6, 20., .0011, 1.2E-9, 1.6, 1.8E-5, .0056};
01387 static const std::pair<G4int, const G4double*> Z85N125(125,pZ85N125);
01388 static const std::pair<G4int, const G4double*> Z85[N85]={Z85N125};
01389
01390 static const G4int N86=1;
01391 static const G4double pZ86N136[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
01392 static const std::pair<G4int, const G4double*> Z86N136(136,pZ86N136);
01393 static const std::pair<G4int, const G4double*> Z86[N86]={Z86N136};
01394
01395 static const G4int N87=1;
01396 static const G4double pZ87N136[7]={2.E-7, 23., 1.1E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
01397 static const std::pair<G4int, const G4double*> Z87N136(136,pZ87N136);
01398 static const std::pair<G4int, const G4double*> Z87[N87]={Z87N136};
01399
01400 static const G4int N88=4;
01401 static const G4double pZ88N135[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
01402 static const std::pair<G4int, const G4double*> Z88N135(135,pZ88N135);
01403 static const G4double pZ88N136[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
01404 static const std::pair<G4int, const G4double*> Z88N136(136,pZ88N136);
01405 static const G4double pZ88N137[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
01406 static const std::pair<G4int, const G4double*> Z88N137(137,pZ88N137);
01407 static const G4double pZ88N138[7]={4.E-7, 23., 1.7E-4, 1.5E-9, 1.6, 1.8E-5, .005};
01408 static const std::pair<G4int, const G4double*> Z88N138(138,pZ88N138);
01409 static const std::pair<G4int, const G4double*> Z88[N88]={Z88N135, Z88N136, Z88N137,
01410 Z88N138};
01411
01412 static const G4int N89=3;
01413 static const G4double pZ89N136[7]={2.E-7, 23., 1.1E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
01414 static const std::pair<G4int, const G4double*> Z89N136(136,pZ89N136);
01415 static const G4double pZ89N137[7]={4.E-7, 23., 2.2E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
01416 static const std::pair<G4int, const G4double*> Z89N137(137,pZ89N137);
01417 static const G4double pZ89N138[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
01418 static const std::pair<G4int, const G4double*> Z89N138(138,pZ89N138);
01419 static const std::pair<G4int, const G4double*> Z89[N89]={Z89N136, Z89N137, Z89N138};
01420
01421 static const G4int N90=7;
01422 static const G4double pZ90N137[7]={4.E-7, 23., 2.2E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
01423 static const std::pair<G4int, const G4double*> Z90N137(137,pZ90N137);
01424 static const G4double pZ90N138[7]={1.E-6, 23., .0016, .4E-9, 3., 3.E-5, .019};
01425 static const std::pair<G4int, const G4double*> Z90N138(138,pZ90N138);
01426 static const G4double pZ90N139[7]={2.5E-7, 23., 1.1E-4, 1.4E-9, 2.4, 2.7E-5, .0049};
01427 static const std::pair<G4int, const G4double*> Z90N139(139,pZ90N139);
01428 static const G4double pZ90N140[7]={1.2E-7, 23., 3.E-5, 2.E-9, 3., 3.E-5, .003};
01429 static const std::pair<G4int, const G4double*> Z90N140(140,pZ90N140);
01430 static const G4double pZ90N142[7]={4.E-6, 23., .0023, 1.1E-9, 1.8, 2.3E-5, .0064};
01431 static const std::pair<G4int, const G4double*> Z90N142(142,pZ90N142);
01432 static const G4double pZ90N143[7]={9.4E-7, 23., 5.4E-4, 1.1E-9, 3., 3.E-5, .0066};
01433 static const std::pair<G4int, const G4double*> Z90N143(143,pZ90N143);
01434 static const G4double pZ90N144[7]={2.5E-7, 23., 1.4E-4, 1.1E-9, 3., 3.E-5, .0066};
01435 static const std::pair<G4int, const G4double*> Z90N144(144,pZ90N144);
01436 static const std::pair<G4int, const G4double*> Z90[N90]={Z90N137, Z90N138, Z90N139,
01437 Z90N140, Z90N142, Z90N143,
01438 Z90N144};
01439
01440 static const G4int N91=3;
01441 static const G4double pZ91N140[7]={1.E-5, 23., .0052, 1.6E-9, 1.8, 2.3E-5, .0057};
01442 static const std::pair<G4int, const G4double*> Z91N140(140,pZ91N140);
01443 static const G4double pZ91N141[7]={8.E-6, 23., .006, 0., 3.5, 3.5E-5, .021};
01444 static const std::pair<G4int, const G4double*> Z91N141(141,pZ91N141);
01445 static const G4double pZ91N142[7]={8.E-6, 23., .0042, 1.E-9, 2., 2.5E-5, .006};
01446 static const std::pair<G4int, const G4double*> Z91N142(142,pZ91N142);
01447 static const std::pair<G4int, const G4double*> Z91[N91]={Z91N140, Z91N141, Z91N142};
01448
01449 static const G4int N92=10;
01450 static const G4double pZ92N140[7]={1.4E-6, 20., 8.E-4, 1.5E-9, 2.5, 2.8E-5, .0055};
01451 static const std::pair<G4int, const G4double*> Z92N140(140,pZ92N140);
01452 static const G4double pZ92N141[7]={5.6E-6, 20., .0033, 1.E-9, 2.5, 2.8E-5, .006};
01453 static const std::pair<G4int, const G4double*> Z92N141(141,pZ92N141);
01454 static const G4double pZ92N142[7]={5.6E-6, 20., .0034, 0., 2.5, 2.8E-5, .0072};
01455 static const std::pair<G4int, const G4double*> Z92N142(142,pZ92N142);
01456 static const G4double pZ92N143[7]={5.6E-6, 20., .0032, 0., 2., 2.3E-5, .006};
01457 static const std::pair<G4int, const G4double*> Z92N143(143,pZ92N143);
01458 static const G4double pZ92N144[7]={3.6E-7, 20., 1.6E-4, 1.3E-9, 2.2, 2.7E-5, .0043};
01459 static const std::pair<G4int, const G4double*> Z92N144(144,pZ92N144);
01460 static const G4double pZ92N145[7]={3.6E-6, 20., .003, 0., 2.2, 2.7E-5, .045};
01461 static const std::pair<G4int, const G4double*> Z92N145(145,pZ92N145);
01462 static const G4double pZ92N146[7]={3.6E-7, 20., 1.6E-4, 1.3E-9, 2.2, 2.7E-5, .0043};
01463 static const std::pair<G4int, const G4double*> Z92N146(146,pZ92N146);
01464 static const G4double pZ92N147[7]={3.6E-6, 20., .0014, 1.3E-9, 2.2, 2.7E-5, 12.};
01465 static const std::pair<G4int, const G4double*> Z92N147(147,pZ92N147);
01466 static const G4double pZ92N148[7]={3.4E-7, 20., 1.3E-4, 1.3E-9, 2.2, 2.8E-5, .0036};
01467 static const std::pair<G4int, const G4double*> Z92N148(148,pZ92N148);
01468 static const G4double pZ92N149[7]={3.3E-7, 20., 1.5E-4, 1.2E-9, 3., 3.4E-5, .0044};
01469 static const std::pair<G4int, const G4double*> Z92N149(149,pZ92N149);
01470 static const std::pair<G4int, const G4double*> Z92[N92]={Z92N140, Z92N141, Z92N142,
01471 Z92N143, Z92N144, Z92N145,
01472 Z92N146, Z92N147, Z92N148,
01473 Z92N146};
01474
01475 static const G4int N93=5;
01476 static const G4double pZ93N142[7]={3.4E-6, 20., .002, 1.3E-9, 3., 3.3E-5, .0056};
01477 static const std::pair<G4int, const G4double*> Z93N142(142,pZ93N142);
01478 static const G4double pZ93N143[7]={3.4E-6, 20., .002, 1.6E-9, 3.5, 3.6E-5, .005};
01479 static const std::pair<G4int, const G4double*> Z93N143(143,pZ93N143);
01480 static const G4double pZ93N144[7]={6.8E-6, 18., .0052, .8E-9, 2.4, 3.E-5, .0072};
01481 static const std::pair<G4int, const G4double*> Z93N144(144,pZ93N144);
01482 static const G4double pZ93N145[7]={3.4E-6, 20., .002, 1.E-9, 3.5, 3.6E-5, .006};
01483 static const std::pair<G4int, const G4double*> Z93N145(145,pZ93N145);
01484 static const G4double pZ93N146[7]={3.4E-6, 20., .002, 1.5E-9, 3.5, 3.6E-5, .0053};
01485 static const std::pair<G4int, const G4double*> Z93N146(146,pZ93N146);
01486 static const std::pair<G4int, const G4double*> Z93[N93]={Z93N142, Z93N143, Z93N144,
01487 Z93N145, Z93N146};
01488
01489 static const G4int N94=10;
01490 static const G4double pZ94N142[7]={6.8E-7, 16., 4.5E-4, 1.7E-9, 2.6, 3.E-5, .0047};
01491 static const std::pair<G4int, const G4double*> Z94N142(142,pZ94N142);
01492 static const G4double pZ94N143[7]={6.8E-6, 18., .0044, .9E-9, 3.3, 3.5E-5, .0058};
01493 static const std::pair<G4int, const G4double*> Z94N143(143,pZ94N143);
01494 static const G4double pZ94N144[7]={6.8E-7, 16., 6.E-4, 0., 2.7, 2.6E-5, .0082};
01495 static const std::pair<G4int, const G4double*> Z94N144(144,pZ94N144);
01496 static const G4double pZ94N145[7]={2.6E-6, 16., .0017, 1.8E-9, 1.8, 2.E-5, .004};
01497 static const std::pair<G4int, const G4double*> Z94N145(145,pZ94N145);
01498 static const G4double pZ94N146[7]={2.5E-7, 20., 9.E-5, 3.6E-8, 3.4, 3.8E-5, 5.4E-4};
01499 static const std::pair<G4int, const G4double*> Z94N146(146,pZ94N146);
01500 static const G4double pZ94N147[7]={1.4E-5, 16., .01, .8E-9, 2.7, 2.6E-5, .0055};
01501 static const std::pair<G4int, const G4double*> Z94N147(147,pZ94N147);
01502 static const G4double pZ94N148[7]={3.4E-7, 20., 1.3E-4, 1.2E-9, 3.2, 3.E-5, .0036};
01503 static const std::pair<G4int, const G4double*> Z94N148(148,pZ94N148);
01504 static const G4double pZ94N149[7]={5.2E-6, 20., .0035, .4E-9, 2.3, 3.E-5, .0095};
01505 static const std::pair<G4int, const G4double*> Z94N149(149,pZ94N149);
01506 static const G4double pZ94N150[7]={3.3E-7, 20., 1.6E-4, 1.2E-9, 3., 3.E-5, .0046};
01507 static const std::pair<G4int, const G4double*> Z94N150(150,pZ94N150);
01508 static const G4double pZ94N152[7]={2.5E-6, 16., .0018, 1.2E-9, 3., 3.1E-5, .0052};
01509 static const std::pair<G4int, const G4double*> Z94N152(152,pZ94N152);
01510 static const std::pair<G4int, const G4double*> Z94[N94]={Z94N142, Z94N143, Z94N144,
01511 Z94N145, Z94N146, Z94N147,
01512 Z94N148, Z94N149, Z94N150,
01513 Z94N152};
01514
01515 static const G4int N95=4;
01516 static const G4double pZ95N156[7]={2.5E-6, 18., .0016, .9E-9, 2., 2.3E-5, .0058};
01517 static const std::pair<G4int, const G4double*> Z95N156(156,pZ95N156);
01518 static const G4double pZ95N157[7]={5.E-6, 18., .003, 2.7E-9, 2., 2.3E-5, .0039};
01519 static const std::pair<G4int, const G4double*> Z95N157(157,pZ95N157);
01520 static const G4double pZ95N158[7]={5.E-6, 19., .0033, 2.6E-9, 2., 2.3E-5, .0044};
01521 static const std::pair<G4int, const G4double*> Z95N158(158,pZ95N158);
01522 static const G4double pZ95N159[7]={5.E-5, 20., .029, 1.1E-9, 2., 2.3E-5, .0057};
01523 static const std::pair<G4int, const G4double*> Z95N159(159,pZ95N159);
01524 static const std::pair<G4int, const G4double*> Z95[N95]={Z95N156, Z95N157, Z95N158,
01525 Z95N159};
01526
01527 static const G4int N96=10;
01528 static const G4double pZ96N145[7]={5.E-5, 22., .027, 1.1E-9, 2.2, 2.2E-5, .006};
01529 static const std::pair<G4int, const G4double*> Z96N145(145,pZ96N145);
01530 static const G4double pZ96N146[7]={5.E-5, 24., .027, 2.E-9, 2.2, 2.2E-5, .0055};
01531 static const std::pair<G4int, const G4double*> Z96N146(146,pZ96N146);
01532 static const G4double pZ96N147[7]={5.E-5, 22., .025, 2.5E-9, 2.2, 2.4E-5, .0044};
01533 static const std::pair<G4int, const G4double*> Z96N147(147,pZ96N147);
01534 static const G4double pZ96N148[7]={5.E-5, 23., .028, 1.9E-9, 2.2, 3.E-5, .0055};
01535 static const std::pair<G4int, const G4double*> Z96N148(148,pZ96N148);
01536 static const G4double pZ96N149[7]={5.E-5, 23., .025, 1.6E-9, 3., 3.5E-5, .0054};
01537 static const std::pair<G4int, const G4double*> Z96N149(149,pZ96N149);
01538 static const G4double pZ96N150[7]={5.E-5, 24., .026, 2.E-9, 3., 3.6E-5, .0045};
01539 static const std::pair<G4int, const G4double*> Z96N150(150,pZ96N150);
01540 static const G4double pZ96N151[7]={5.E-5, 24., .022, 2.4E-9, 3., 3.6E-5, .0039};
01541 static const std::pair<G4int, const G4double*> Z96N151(151,pZ96N151);
01542 static const G4double pZ96N152[7]={6.5E-7, 25., 2.E-4, 3.4E-9, 3., 3.6E-5, .003};
01543 static const std::pair<G4int, const G4double*> Z96N152(152,pZ96N152);
01544 static const G4double pZ96N153[7]={1.6E-6, 21., 7.E-4, 1.4E-9, 3., 3.6E-5, .0045};
01545 static const std::pair<G4int, const G4double*> Z96N153(153,pZ96N153);
01546 static const G4double pZ96N154[7]={1.3E-5, 16., .016, 0., 3., 3.6E-5, .017};
01547 static const std::pair<G4int, const G4double*> Z96N154(154,pZ96N154);
01548 static const std::pair<G4int, const G4double*> Z96[N96]={Z96N145, Z96N146, Z96N147,
01549 Z96N148, Z96N149, Z96N150,
01550 Z96N151, Z96N152, Z96N153,
01551 Z96N154};
01552
01553 static const G4int N97=2;
01554 static const G4double pZ97N152[7]={6.5E-7, 22., 3.5E-4, 2.7E-9, 3., 4.E-5, .004};
01555 static const std::pair<G4int, const G4double*> Z97N152(152,pZ97N152);
01556 static const G4double pZ97N153[7]={6.5E-6, 22., .0036, 1.E-9, 2.7, 4.E-5, .006};
01557 static const std::pair<G4int, const G4double*> Z97N153(153,pZ97N153);
01558 static const std::pair<G4int, const G4double*> Z97[N97]={Z97N152, Z97N153};
01559
01560 static const G4int N98=6;
01561 static const G4double pZ98N151[7]={6.5E-6, 22., .0035, .9E-9, 3., 4.E-5, .0068};
01562 static const std::pair<G4int, const G4double*> Z98N151(151,pZ98N151);
01563 static const G4double pZ98N152[7]={1.3E-6, 22., 7.E-4, 2.E-9, 2.7, 4.E-5, .0045};
01564 static const std::pair<G4int, const G4double*> Z98N152(152,pZ98N152);
01565 static const G4double pZ98N153[7]={2.6E-6, 22., .0014, 2.1E-9, 2.7, 4.E-5, .0044};
01566 static const std::pair<G4int, const G4double*> Z98N153(153,pZ98N153);
01567 static const G4double pZ98N154[7]={2.6E-6, 22., .0014, 1.3E-9, 2.7, 4.E-5, .0054};
01568 static const std::pair<G4int, const G4double*> Z98N154(154,pZ98N154);
01569 static const G4double pZ98N155[7]={2.6E-5, 22., .03, 0., 2.7, 4.E-5, .03};
01570 static const std::pair<G4int, const G4double*> Z98N155(155,pZ98N155);
01571 static const G4double pZ98N156[7]={5.2E-7, 22., 2.6E-4, 1.3E-9, 2.7, 4.E-5, .005};
01572 static const std::pair<G4int, const G4double*> Z98N156(156,pZ98N156);
01573 static const std::pair<G4int, const G4double*> Z98[N98]={Z98N151, Z98N152, Z98N153,
01574 Z98N154, Z98N155, Z98N156};
01575
01576 static const G4int NZ=99;
01577 static const std::pair<G4int, const G4double*>* Pars[NZ]={Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,
01578 Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30,
01579 Z31,Z32,Z33,Z34,Z35,Z36,Z37,Z38,Z39,Z40,Z41,Z42,Z43,Z44,Z45,Z46,Z47,Z48,Z49,Z50,Z51,
01580 Z52,Z53,Z54,Z55,Z56,Z57,Z58,Z59,Z60,Z61,Z62,Z63,Z64,Z65,Z66,Z67,Z68,Z69,Z70,Z71,Z72,
01581 Z73,Z74,Z75,Z76,Z77,Z78,Z79,Z80,Z81,Z82,Z83,Z84,Z85,Z86,Z87,Z88,Z89,Z90,Z91,Z92,Z93,
01582 Z94,Z95,Z96,Z97,Z98};
01583 static const G4int NIso[NZ]={N0,N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15,N16,
01584 N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N27,N28,N29,N30,N31,N32,N33,N34,N35,N36,N37,
01585 N38,N39,N40,N41,N42,N43,N44,N45,N46,N47,N48,N49,N50,N51,N52,N53,N54,N55,N56,N57,N58,
01586 N59,N60,N61,N62,N63,N64,N65,N66,N67,N68,N69,N70,N71,N72,N73,N74,N75,N76,N77,N78,N79,
01587 N80,N81,N82,N83,N84,N85,N86,N87,N88,N89,N90,N91,N92,N93,N94,N95,N96,N97,N98};
01588 if(PDG==2112)
01589 {
01590
01591
01592
01593
01594
01595
01596
01597
01598
01599 if(lastPAR[nLast]!=pwd)
01600 {
01601 if ( tgZ == 1 && tgN == 0 )
01602 {
01603 for (G4int ip=0; ip<n_npel; ip++) lastPAR[ip]=np_el[ip];
01604 }
01605 else if ( tgZ == 0 && tgN == 1 )
01606 {
01607 for (G4int ip=0; ip<n_ppel; ip++) lastPAR[ip]=pp_el[ip];
01608 }
01609 else
01610 {
01611 G4double a=tgZ+tgN;
01612 G4double ala=std::log(a);
01613 G4double sa=std::sqrt(a);
01614 G4double ssa=std::sqrt(sa);
01615 G4double asa=a*sa;
01616 G4double a2=a*a;
01617 G4double a3=a2*a;
01618 G4double a4=a3*a;
01619 G4double a5=a4*a;
01620 G4double a6=a4*a2;
01621 G4double a7=a6*a;
01622 G4double a8=a7*a;
01623 G4double a9=a8*a;
01624 G4double a10=a5*a5;
01625 G4double a12=a6*a6;
01626 G4double a14=a7*a7;
01627 G4double a16=a8*a8;
01628 G4double a17=a16*a;
01629 G4double a32=a16*a16;
01630
01631 lastPAR[ 0]=5./(1.+22./asa);
01632 lastPAR[ 1]=4.8*std::exp(ala*1.14)/(1.+3.6/a3);
01633 lastPAR[ 2]=1./(1.+.004*a4)+2.E-6*a3/(1.+1.3E-6*a3);
01634 lastPAR[ 3]=.07*asa/(1.+.009*a2);
01635 lastPAR[ 5]=1.7*a;
01636 lastPAR[ 6]=5.5E-6*std::exp(ala*1.3);
01637 lastPAR[13]=0.;
01638 lastPAR[14]=0.;
01639 G4int nn=NIso[tgZ];
01640 G4bool nfound=true;
01641 if(nn) for (G4int in=0; in<nn; in++)
01642 {
01643 std::pair<G4int, const G4double*> curIs=Pars[tgZ][in];
01644 G4int cn=curIs.first;
01645 if(cn == tgN)
01646 {
01647 const G4double* curT=curIs.second;
01648 lastPAR[ 4]=curT[0];
01649 lastPAR[ 7]=curT[1];
01650 lastPAR[ 8]=curT[2];
01651 lastPAR[ 9]=curT[3];
01652 lastPAR[10]=curT[4];
01653 lastPAR[11]=curT[5];
01654 lastPAR[12]=curT[6];
01655 nfound = false;
01656 break;
01657 }
01658 }
01659 if(nfound)
01660 {
01661 G4cout<<"-Warning-G4ChipsNeutronElasticXS::CalcCS: Z="<<tgZ<<", N="<<tgN
01662 <<" isotope is not implemented in CHIPS"<<G4endl;
01663 lastPAR[ 4]=5.2E-7;
01664 lastPAR[ 7]=22.;
01665 lastPAR[ 8]=.00026;
01666 lastPAR[ 9]=1.3E-9;
01667 lastPAR[10]=2.7;
01668 lastPAR[11]=4.E-5;
01669 lastPAR[12]=.005;
01670 }
01671
01672 if(a<6.5)
01673 {
01674 G4double a28=a16*a12;
01675
01676 lastPAR[15]=4000*a;
01677 lastPAR[16]=1.2e7*a8+380*a17;
01678 lastPAR[17]=.7/(1.+4.e-12*a16);
01679 lastPAR[18]=2.5/a8/(a4+1.e-16*a32);
01680 lastPAR[19]=.28*a;
01681 lastPAR[20]=1.2*a2+2.3;
01682 lastPAR[21]=3.8/a;
01683
01684 lastPAR[22]=.01/(1.+.0024*a5);
01685 lastPAR[23]=.2*a;
01686 lastPAR[24]=9.e-7/(1.+.035*a5);
01687 lastPAR[25]=(42.+2.7e-11*a16)/(1.+.14*a);
01688
01689 lastPAR[26]=2.25*a3;
01690 lastPAR[27]=18.;
01691 lastPAR[28]=.0024*a8/(1.+2.6e-4*a7);
01692 lastPAR[29]=3.5e-36*a32*a8/(1.+5.e-15*a32/a);
01693 lastPAR[30]=1.e5/(a8+2.5e12/a16);
01694 lastPAR[31]=8.e7/(a12+1.e-27*a28*a28);
01695 lastPAR[32]=.0006*a3;
01696
01697 lastPAR[33]=10.+4.e-8*a12*a;
01698 lastPAR[34]=.114;
01699 lastPAR[35]=.003;
01700 lastPAR[36]=2.e-23;
01701
01702 lastPAR[37]=1./(1.+.0001*a8);
01703 lastPAR[38]=1.5e-4/(1.+5.e-6*a12);
01704 lastPAR[39]=.03;
01705
01706 lastPAR[40]=a/2;
01707 lastPAR[41]=2.e-7*a4;
01708 lastPAR[42]=4.;
01709 lastPAR[43]=64./a3;
01710
01711 lastPAR[44]=1.e8*std::exp(.32*asa);
01712 lastPAR[45]=20.*std::exp(.45*asa);
01713 lastPAR[46]=7.e3+2.4e6/a5;
01714 lastPAR[47]=2.5e5*std::exp(.085*a3);
01715 lastPAR[48]=2.5*a;
01716
01717 lastPAR[49]=920.+.03*a8*a3;
01718 lastPAR[50]=93.+.0023*a12;
01719 }
01720 else
01721 {
01722 G4double p1a10=2.2e-28*a10;
01723 G4double r4a16=6.e14/a16;
01724 G4double s4a16=r4a16*r4a16;
01725
01726
01727
01728 lastPAR[15]=4.5*std::pow(a,1.15);
01729 lastPAR[16]=.06*std::pow(a,.6);
01730 lastPAR[17]=.6*a/(1.+2.e15/a16);
01731 lastPAR[18]=.17/(a+9.e5/a3+1.5e33/a32);
01732 lastPAR[19]=(.001+7.e-11*a5)/(1.+4.4e-11*a5);
01733 lastPAR[20]=(p1a10*p1a10+2.e-29)/(1.+2.e-22*a12);
01734
01735 lastPAR[21]=400./a12+2.e-22*a9;
01736 lastPAR[22]=1.e-32*a12/(1.+5.e22/a14);
01737 lastPAR[23]=1000./a2+9.5*sa*ssa;
01738 lastPAR[24]=4.e-6*a*asa+1.e11/a16;
01739 lastPAR[25]=(120./a+.002*a2)/(1.+2.e14/a16);
01740 lastPAR[26]=9.+100./a;
01741
01742 lastPAR[27]=.002*a3+3.e7/a6;
01743 lastPAR[28]=7.e-15*a4*asa;
01744 lastPAR[29]=9000./a4;
01745
01746 lastPAR[30]=.0011*asa/(1.+3.e34/a32/a4);
01747 lastPAR[31]=1.e-5*a2+2.e14/a16;
01748 lastPAR[32]=1.2e-11*a2/(1.+1.5e19/a12);
01749 lastPAR[33]=.016*asa/(1.+5.e16/a16);
01750
01751 lastPAR[34]=.002*a4/(1.+7.e7/std::pow(a-6.83,14));
01752 lastPAR[35]=2.e6/a6+7.2/std::pow(a,.11);
01753 lastPAR[36]=11.*a3/(1.+7.e23/a16/a8);
01754 lastPAR[37]=100./asa;
01755
01756 lastPAR[38]=(.1+4.4e-5*a2)/(1.+5.e5/a4);
01757 lastPAR[39]=3.5e-4*a2/(1.+1.e8/a8);
01758 lastPAR[40]=1.3+3.e5/a4;
01759 lastPAR[41]=500./(a2+50.)+3;
01760 lastPAR[42]=1.e-9/a+s4a16*s4a16;
01761
01762 lastPAR[43]=.4*asa+3.e-9*a6;
01763 lastPAR[44]=.0005*a5;
01764 lastPAR[45]=.002*a5;
01765 lastPAR[46]=10.;
01766
01767 lastPAR[47]=.05+.005*a;
01768 lastPAR[48]=7.e-8/sa;
01769 lastPAR[49]=.8*sa;
01770 lastPAR[50]=.02*sa;
01771 lastPAR[51]=1.e8/a3;
01772 lastPAR[52]=3.e32/(a32+1.e32);
01773
01774 lastPAR[53]=24.;
01775 lastPAR[54]=20./sa;
01776 lastPAR[55]=7.e3*a/(sa+1.);
01777 lastPAR[56]=900.*sa/(1.+500./a3);
01778 }
01779
01780 lastPAR[57]=1.e15+2.e27/a4/(1.+2.e-18*a16);
01781 }
01782 lastPAR[nLast]=pwd;
01783
01784 G4double lp=lPMin;
01785 G4bool memCS=onlyCS;
01786 onlyCS=false;
01787 lastCST[0]=GetTabValues(lp, PDG, tgZ, tgN);
01788 onlyCS=memCS;
01789 lastSST[0]=theSS;
01790 lastS1T[0]=theS1;
01791 lastB1T[0]=theB1;
01792 lastS2T[0]=theS2;
01793 lastB2T[0]=theB2;
01794 lastS3T[0]=theS3;
01795 lastB3T[0]=theB3;
01796 lastS4T[0]=theS4;
01797 lastB4T[0]=theB4;
01798 }
01799 if(LP>ILP)
01800 {
01801 G4int ini = static_cast<int>((ILP-lPMin+.000001)/dlnP)+1;
01802 if(ini<0) ini=0;
01803 if(ini<nPoints)
01804 {
01805 G4int fin = static_cast<int>((LP-lPMin)/dlnP)+1;
01806 if(fin>=nPoints) fin=nLast;
01807 if(fin>=ini)
01808 {
01809 G4double lp=0.;
01810 for(G4int ip=ini; ip<=fin; ip++)
01811 {
01812 lp=lPMin+ip*dlnP;
01813 G4bool memCS=onlyCS;
01814 onlyCS=false;
01815 lastCST[ip]=GetTabValues(lp, PDG, tgZ, tgN);
01816 onlyCS=memCS;
01817 lastSST[ip]=theSS;
01818 lastS1T[ip]=theS1;
01819 lastB1T[ip]=theB1;
01820 lastS2T[ip]=theS2;
01821 lastB2T[ip]=theB2;
01822 lastS3T[ip]=theS3;
01823 lastB3T[ip]=theB3;
01824 lastS4T[ip]=theS4;
01825 lastB4T[ip]=theB4;
01826 }
01827 return lp;
01828 }
01829 else G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetPTables: PDG="<<PDG
01830 <<", Z="<<tgZ<<", N="<<tgN<<", i="<<ini<<" > fin="<<fin<<", LP="<<LP
01831 <<" > ILP="<<ILP<<" nothing is done!"<<G4endl;
01832 }
01833 else G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetPTables: PDG="<<PDG<<", Z="
01834 <<tgZ<<", N="<<tgN<<", i="<<ini<<">= max="<<nPoints<<", LP="<<LP
01835 <<" > ILP="<<ILP<<", lPMax="<<lPMax<<" nothing is done!"<<G4endl;
01836 }
01837 }
01838 else
01839 {
01840
01841
01842
01843 G4ExceptionDescription ed;
01844 ed << "PDG = " << PDG << ", Z = " << tgZ <<", N = " << tgN
01845 << ", while it is defined only for PDG=2112 (n)" << G4endl;
01846 G4Exception("G4ChipsNeutronElasticXS::GetPTables()", "HAD_CHPS_0000",
01847 FatalException, ed);
01848 }
01849 return ILP;
01850 }
01851
01852
01853 G4double G4ChipsNeutronElasticXS::GetExchangeT(G4int tgZ, G4int tgN, G4int PDG)
01854 {
01855 static const G4double GeVSQ=gigaelectronvolt*gigaelectronvolt;
01856 static const G4double third=1./3.;
01857 static const G4double fifth=1./5.;
01858 static const G4double sevth=1./7.;
01859 if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetExT:PDG="<<PDG<<G4endl;
01860 if(onlyCS) G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetExchangeT:onCS=1"<<G4endl;
01861 if(lastLP<-4.3) return lastTM*GeVSQ*G4UniformRand();
01862 G4double q2=0.;
01863 if(tgZ==1 && tgN==0)
01864 {
01865 G4double E1=lastTM*theB1;
01866 G4double R1=(1.-std::exp(-E1));
01867 G4double E2=lastTM*theB2;
01868 G4double R2=(1.-std::exp(-E2));
01869 G4double I1=R1*theS1;
01870 G4double I2=R2*theS2/theB2;
01871
01872 G4double I12=I1+I2;
01873
01874 G4double rand=I12*G4UniformRand();
01875 if (rand<I1 )
01876 {
01877 G4double ran=R1*G4UniformRand();
01878 if(ran>1.) ran=1.;
01879 q2=-std::log(1.-ran)/theB1;
01880 }
01881 else
01882 {
01883 G4double ran=R2*G4UniformRand();
01884 if(ran>1.) ran=1.;
01885 q2=lastTM+std::log(1.-ran)/theB2;
01886 }
01887 }
01888 else
01889 {
01890 G4double a=tgZ+tgN;
01891 G4double E1=lastTM*(theB1+lastTM*theSS);
01892 G4double R1=(1.-std::exp(-E1));
01893 G4double tss=theSS+theSS;
01894 G4double tm2=lastTM*lastTM;
01895 G4double E2=lastTM*tm2*theB2;
01896 if(a>6.5)E2*=tm2;
01897 G4double R2=(1.-std::exp(-E2));
01898 G4double E3=lastTM*theB3;
01899 if(a>6.5)E3*=tm2*tm2*tm2;
01900 G4double R3=(1.-std::exp(-E3));
01901 G4double E4=lastTM*theB4;
01902 G4double R4=(1.-std::exp(-E4));
01903 G4double I1=R1*theS1;
01904 G4double I2=R2*theS2;
01905 G4double I3=R3*theS3;
01906 G4double I4=R4*theS4;
01907 G4double I12=I1+I2;
01908 G4double I13=I12+I3;
01909 G4double rand=(I13+I4)*G4UniformRand();
01910 if(rand<I1)
01911 {
01912 G4double ran=R1*G4UniformRand();
01913 if(ran>1.) ran=1.;
01914 q2=-std::log(1.-ran)/theB1;
01915 if(std::fabs(tss)>1.e-7) q2=(std::sqrt(theB1*(theB1+(tss+tss)*q2))-theB1)/tss;
01916 }
01917 else if(rand<I12)
01918 {
01919 G4double ran=R2*G4UniformRand();
01920 if(ran>1.) ran=1.;
01921 q2=-std::log(1.-ran)/theB2;
01922 if(q2<0.) q2=0.;
01923 if(a<6.5) q2=std::pow(q2,third);
01924 else q2=std::pow(q2,fifth);
01925 }
01926 else if(rand<I13)
01927 {
01928 G4double ran=R3*G4UniformRand();
01929 if(ran>1.) ran=1.;
01930 q2=-std::log(1.-ran)/theB3;
01931 if(q2<0.) q2=0.;
01932 if(a>6.5) q2=std::pow(q2,sevth);
01933 }
01934 else
01935 {
01936 G4double ran=R4*G4UniformRand();
01937 if(ran>1.) ran=1.;
01938 q2=-std::log(1.-ran)/theB4;
01939 if(a<6.5) q2=lastTM-q2;
01940 }
01941 }
01942 if(q2<0.) q2=0.;
01943 if(!(q2>=-1.||q2<=1.)) G4cout<<"*NAN*G4QNeutronElCroSect::GetExchangeT: -t="<<q2<<G4endl;
01944 if(q2>lastTM)
01945 {
01946 q2=lastTM;
01947 }
01948 return q2*GeVSQ;
01949 }
01950
01951
01952 G4double G4ChipsNeutronElasticXS::GetSlope(G4int tgZ, G4int tgN, G4int PDG)
01953 {
01954 static const G4double GeVSQ=gigaelectronvolt*gigaelectronvolt;
01955
01956 if(onlyCS) G4cout<<"Warning*G4ChipsNeutronElasticXS::GetSlope:onlyCS=true"<<G4endl;
01957 if(lastLP<-4.3) return 0.;
01958 if(PDG!=2112)
01959 {
01960
01961
01962
01963 G4ExceptionDescription ed;
01964 ed << "PDG = " << PDG << ", Z = " << tgZ << ", N = " << tgN
01965 <<", while it is defined only for PDG=2112 (n) " << G4endl;
01966 G4Exception("G4ChipsNeutronElasticXS::GetSlope()", "HAD_CHPS_0000",
01967 FatalException, ed);
01968 }
01969 if(theB1<0.) theB1=0.;
01970 if(!(theB1>=-1.||theB1<=1.))G4cout<<"*NAN*G4QNeutElasticCrosS::Getslope:"<<theB1<<G4endl;
01971 return theB1/GeVSQ;
01972 }
01973
01974
01975 G4double G4ChipsNeutronElasticXS::GetHMaxT()
01976 {
01977 static const G4double HGeVSQ=gigaelectronvolt*gigaelectronvolt/2.;
01978 return lastTM*HGeVSQ;
01979 }
01980
01981
01982 G4double G4ChipsNeutronElasticXS::GetTabValues(G4double lp, G4int PDG, G4int tgZ,
01983 G4int tgN)
01984 {
01985 if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetTaV:PDG="<<PDG<<G4endl;
01986 if(tgZ<0 || tgZ>92)
01987 {
01988 G4cout<<"*Warning*G4QNElasticCrS::GetTabValue: (1-92) No isotopes for Z="<<tgZ<<G4endl;
01989 return 0.;
01990 }
01991 G4int iZ=tgZ-1;
01992 if(iZ<0)
01993 {
01994 iZ=0;
01995 tgZ=1;
01996 tgN=0;
01997 }
01998 G4double p=std::exp(lp);
01999 G4double sp=std::sqrt(p);
02000 G4double p2=p*p;
02001 G4double p3=p2*p;
02002 G4double p4=p3*p;
02003 if ( tgZ == 1 && tgN == 0 )
02004 {
02005 G4double ssp=std::sqrt(sp);
02006 G4double p2s=p2*sp;
02007 G4double dl1=lp-lastPAR[3];
02008 theSS=lastPAR[27];
02009 theS1=(lastPAR[9]+lastPAR[10]*dl1*dl1+lastPAR[11]/p)/(1.+lastPAR[12]/p4)
02010 +lastPAR[13]/(p4+lastPAR[14]);
02011 theB1=(lastPAR[17]+lastPAR[18]/(p4*p4+lastPAR[19]*p3))/(1.+lastPAR[20]/p4);
02012 theS2=(lastPAR[15]+lastPAR[16]/p4/p)/p3;
02013 theB2=lastPAR[22]/(p*sp+lastPAR[23]);
02014 theS3=0.;
02015 theB3=0.;
02016 theS4=0.;
02017 theB4=0.;
02018
02019 return lastPAR[0]/(p2s+lastPAR[1]*p+lastPAR[2]/ssp)+lastPAR[4]/p
02020 +(lastPAR[5]+lastPAR[6]*dl1*dl1+lastPAR[7]/p)/(1.+lastPAR[8]/p4);
02021
02022 }
02023 else
02024 {
02025 G4double p5=p4*p;
02026 G4double p6=p5*p;
02027 G4double p8=p6*p2;
02028 G4double p10=p8*p2;
02029 G4double p12=p10*p2;
02030 G4double p16=p8*p8;
02031 G4double dl=lp-5.;
02032 G4double a=tgZ+tgN;
02033 G4double pah=std::pow(p,a/2);
02034 G4double pa=pah*pah;
02035 G4double pa2=pa*pa;
02036 if(a<6.5)
02037 {
02038 theS1=lastPAR[15]/(1.+lastPAR[16]*p4*pa)+lastPAR[17]/(p4+lastPAR[18]*p4/pa2)+
02039 (lastPAR[19]*dl*dl+lastPAR[20])/(1.+lastPAR[21]/p2);
02040 theB1=(lastPAR[22]+lastPAR[23]*p2)/(p4+lastPAR[24]/pah)+lastPAR[25];
02041 theSS=lastPAR[26]/(1.+lastPAR[27]/p2)+lastPAR[28]/(p6/pa+lastPAR[29]/p16);
02042 theS2=lastPAR[30]/(pa/p2+lastPAR[31]/p4)+lastPAR[32];
02043 theB2=lastPAR[33]*std::pow(p,lastPAR[34])+lastPAR[35]/(p8+lastPAR[36]/p16);
02044 theS3=lastPAR[37]/(pa*p+lastPAR[38]/pa)+lastPAR[39];
02045 theB3=lastPAR[40]/(p3+lastPAR[41]/p6)+lastPAR[42]/(1.+lastPAR[43]/p2);
02046 theS4=p2*(pah*lastPAR[44]*std::exp(-pah*lastPAR[45])+
02047 lastPAR[46]/(1.+lastPAR[47]*std::pow(p,lastPAR[48])));
02048 theB4=lastPAR[49]*pa/p2/(1.+pa*lastPAR[50]);
02049 }
02050 else
02051 {
02052 theS1=lastPAR[15]/(1.+lastPAR[16]/p4)+lastPAR[17]/(p4+lastPAR[18]/p2)+
02053 lastPAR[19]/(p5+lastPAR[20]/p16);
02054 theB1=(lastPAR[21]/p8+lastPAR[25])/(p+lastPAR[22]/std::pow(p,lastPAR[26]))+
02055 lastPAR[23]/(1.+lastPAR[24]/p4);
02056 theSS=lastPAR[27]/(p4/std::pow(p,lastPAR[29])+lastPAR[28]/p4);
02057 theS2=lastPAR[30]/p4/(std::pow(p,lastPAR[31])+lastPAR[32]/p12)+lastPAR[33];
02058 theB2=lastPAR[34]/std::pow(p,lastPAR[35])+lastPAR[36]/std::pow(p,lastPAR[37]);
02059 theS3=lastPAR[38]/std::pow(p,lastPAR[41])/(1.+lastPAR[42]/p12)+
02060 lastPAR[39]/(1.+lastPAR[40]/p6);
02061 theB3=lastPAR[43]/p8+lastPAR[44]/p2+lastPAR[45]/(1.+lastPAR[46]/p8);
02062 theS4=(lastPAR[47]/p4+lastPAR[52]/p)/(1.+lastPAR[48]/p10)+
02063 (lastPAR[49]+lastPAR[50]*dl*dl)/(1.+lastPAR[51]/p12);
02064 theB4=lastPAR[53]/(1.+lastPAR[54]/p)+lastPAR[55]*p4/(1.+lastPAR[56]*p5);
02065 }
02066
02067
02068 return (lastPAR[0]*dl*dl+lastPAR[1])/(1.+lastPAR[2]/p+lastPAR[3]/p4)+lastPAR[5]/
02069 (p3+lastPAR[6]/p3)+lastPAR[7]/(p2+lastPAR[4]/(p2+lastPAR[8])+lastPAR[9]/p)+
02070 lastPAR[10]/(p5+lastPAR[11]/p2)+lastPAR[12]/p;
02071
02072 }
02073 return 0.;
02074 }
02075
02076
02077 G4double G4ChipsNeutronElasticXS::GetQ2max(G4int PDG, G4int tgZ, G4int tgN,
02078 G4double pP)
02079 {
02080 static const G4double mNeut= G4Neutron::Neutron()->GetPDGMass()*.001;
02081 static const G4double mProt= G4Proton::Proton()->GetPDGMass()*.001;
02082
02083 static const G4double mNeut2= mNeut*mNeut;
02084
02085 G4double pP2=pP*pP;
02086 if(tgZ==0 && tgN==1)
02087 {
02088 G4double tMid=std::sqrt(pP2+mNeut2)*mNeut-mNeut2;
02089 return tMid+tMid;
02090 }
02091 else if(tgZ || tgN)
02092 {
02093 G4double mt=mProt;
02094 if(tgN||tgZ>1) mt=G4ParticleTable::GetParticleTable()->FindIon(tgZ,tgZ+tgN,0,tgZ)->GetPDGMass()*.001;
02095 G4double dmt=mt+mt;
02096 G4double mds=dmt*std::sqrt(pP2+mNeut2)+mNeut2+mt*mt;
02097 return dmt*dmt*pP2/mds;
02098 }
02099 else
02100 {
02101
02102
02103
02104 G4ExceptionDescription ed;
02105 ed << "PDG = " << PDG << ", Z = " << tgZ << ", N =" << tgN
02106 <<", while it is defined only for n projectiles & Z_target>0" << G4endl;
02107 G4Exception("G4ChipsNeutronElasticXS::GetQ2max()", "HAD_CHPS_0000",
02108 FatalException, ed);
02109 return 0;
02110 }
02111 }