Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // 27 // 28 // 29 // G4 Physics class: G4ChipsNeutronElasticXS f 30 // Created: M.V. Kossov, CERN/ITEP(Moscow), 10 31 // The last update: M.V. Kossov, CERN/ITEP (Mo 32 // 33 // ------------------------------------------- 34 // Short description: Interaction cross-sectio 35 // Class extracted from CHIPS and integrated i 36 // ------------------------------------------- 37 38 39 #include "G4ChipsNeutronElasticXS.hh" 40 #include "G4SystemOfUnits.hh" 41 #include "G4DynamicParticle.hh" 42 #include "G4ParticleDefinition.hh" 43 #include "G4Neutron.hh" 44 #include "G4Nucleus.hh" 45 #include "G4ParticleTable.hh" 46 #include "G4NucleiProperties.hh" 47 #include "G4IonTable.hh" 48 49 // factory 50 #include "G4CrossSectionFactory.hh" 51 // 52 G4_DECLARE_XS_FACTORY(G4ChipsNeutronElasticXS) 53 54 namespace { 55 G4double mNeut; 56 G4double mProt; 57 G4double mNeut2; 58 59 } 60 61 G4ChipsNeutronElasticXS::G4ChipsNeutronElastic 62 { 63 lPMin=-8.; // Min tabulated log Momentum 64 lPMax= 8.; // Max tabulated log Momentum 65 dlnP=(lPMax-lPMin)/nLast;// Log step in tabl 66 onlyCS=true;// Flag to calc only CS (not Si/ 67 lastSIG=0.; // Last calculated cross section 68 lastLP=-10.;// Last log(momOfIncidentHadron) 69 lastTM=0.; // Last t_maximum 70 theSS=0.; // The Last sq.slope of 1st difM 71 theS1=0.; // The Last mantissa of 1st difM 72 theB1=0.; // The Last slope of 1st difr. M 73 theS2=0.; // The Last mantissa of 2nd difM 74 theB2=0.; // The Last slope of 2nd difr. M 75 theS3=0.; // The Last mantissa of 3d difrM 76 theB3=0.; // The Last slope of 3d difructM 77 theS4=0.; // The Last mantissa of 4th difM 78 theB4=0.; // The Last slope of 4th difr. M 79 lastTZ=0; // Last atomic number of the tar 80 lastTN=0; // Last # of neutrons in the tar 81 lastPIN=0.; // Last initialized max momentum 82 lastCST=0; // Elastic cross-section table 83 lastPAR=0; // Parameters of FunctionalCalcu 84 lastSST=0; // E-dep of sq.slope of the 1st 85 lastS1T=0; // E-dep of mantissa of the 1st 86 lastB1T=0; // E-dep of theSlope of the 1st 87 lastS2T=0; // E-dep of mantissa of the 2nd 88 lastB2T=0; // E-dep of theSlope of the 2nd 89 lastS3T=0; // E-dep of mantissa of the 3d d 90 lastB3T=0; // E-dep of the slope of the 3d 91 lastS4T=0; // E-dep of mantissa of the 4th 92 lastB4T=0; // E-dep of theSlope of the 4th 93 lastN=0; // The last N of calculated nucl 94 lastZ=0; // The last Z of calculated nucl 95 lastP=0.; // Last used in cross section Mo 96 lastTH=0.; // Last threshold momentum 97 lastCS=0.; // Last value of the Cross Secti 98 lastI=0; // The last position in the DAMD 99 100 mNeut= G4Neutron::Neutron()->GetPDGMass()* 101 mProt= G4Proton::Proton()->GetPDGMass()*.0 102 mNeut2= mNeut*mNeut; 103 } 104 105 G4ChipsNeutronElasticXS::~G4ChipsNeutronElasti 106 { 107 std::vector<G4double*>::iterator pos; 108 for (pos=CST.begin(); pos<CST.end(); pos++) 109 { delete [] *pos; } 110 CST.clear(); 111 for (pos=PAR.begin(); pos<PAR.end(); pos++) 112 { delete [] *pos; } 113 PAR.clear(); 114 for (pos=SST.begin(); pos<SST.end(); pos++) 115 { delete [] *pos; } 116 SST.clear(); 117 for (pos=S1T.begin(); pos<S1T.end(); pos++) 118 { delete [] *pos; } 119 S1T.clear(); 120 for (pos=B1T.begin(); pos<B1T.end(); pos++) 121 { delete [] *pos; } 122 B1T.clear(); 123 for (pos=S2T.begin(); pos<S2T.end(); pos++) 124 { delete [] *pos; } 125 S2T.clear(); 126 for (pos=B2T.begin(); pos<B2T.end(); pos++) 127 { delete [] *pos; } 128 B2T.clear(); 129 for (pos=S3T.begin(); pos<S3T.end(); pos++) 130 { delete [] *pos; } 131 S3T.clear(); 132 for (pos=B3T.begin(); pos<B3T.end(); pos++) 133 { delete [] *pos; } 134 B3T.clear(); 135 for (pos=S4T.begin(); pos<S4T.end(); pos++) 136 { delete [] *pos; } 137 S4T.clear(); 138 for (pos=B4T.begin(); pos<B4T.end(); pos++) 139 { delete [] *pos; } 140 B4T.clear(); 141 } 142 143 void 144 G4ChipsNeutronElasticXS::CrossSectionDescripti 145 { 146 outFile << "G4ChipsNeutronElasticXS provid 147 << "section for neutron nucleus sc 148 << "momentum. The cross section is 149 << "CHIPS parameterization of cros 150 } 151 152 G4bool G4ChipsNeutronElasticXS::IsIsoApplicabl 153 const G4Element*, 154 const G4Material*) 155 { 156 return true; 157 } 158 159 G4double G4ChipsNeutronElasticXS::GetIsoCrossS 160 const G4Isotope*, 161 const G4Element*, 162 const G4Material*) 163 { 164 G4double pMom=Pt->GetTotalMomentum(); 165 G4int tgN = A - tgZ; 166 167 return GetChipsCrossSection(pMom, tgZ, tgN, 168 } 169 170 // The main member function giving the collisi 171 // Make pMom in independent units ! (Now it is 172 G4double G4ChipsNeutronElasticXS::GetChipsCros 173 { 174 175 G4double pEn=pMom; 176 onlyCS=false; 177 178 G4bool in=false; // By def 179 lastP = 0.; // New mo 180 lastN = tgN; // The la 181 lastZ = tgZ; // The la 182 lastI = (G4int)colN.size(); // Size o 183 if(lastI) for(G4int i=0; i<lastI; ++i) // Lo 184 { // The nu 185 if(colN[i]==tgN && colZ[i]==tgZ) // Isotop 186 { 187 lastI=i; 188 lastTH =colTH[i]; // Last T 189 if(pEn<=lastTH) 190 { 191 return 0.; // Energy 192 } 193 lastP =colP [i]; // Last 194 lastCS =colCS[i]; // Last 195 // if(std::fabs(lastP/pMom-1.)<toleranc 196 if(lastP == pMom) // Do not 197 { 198 CalculateCrossSection(false,-1,i,2112, 199 return lastCS*millibarn; // Use th 200 } 201 in = true; // This 202 // Momentum pMom is in IU ! @@ Units 203 lastCS=CalculateCrossSection(false,-1,i, 204 if(lastCS<=0. && pEn>lastTH) // Corre 205 { 206 lastTH=pEn; 207 } 208 break; // Go o 209 } 210 } 211 if(!in) // This n 212 { 213 //!!The slave functions must provide cross 214 lastCS=CalculateCrossSection(false,0,lastI 215 if(lastCS<=0.) 216 { 217 lastTH = 0; // ThresholdEnergy(tgZ, tgN) 218 if(pEn>lastTH) 219 { 220 lastTH=pEn; 221 } 222 } 223 colN.push_back(tgN); 224 colZ.push_back(tgZ); 225 colP.push_back(pMom); 226 colTH.push_back(lastTH); 227 colCS.push_back(lastCS); 228 return lastCS*millibarn; 229 } // End of creation of the new set of param 230 else 231 { 232 colP[lastI]=pMom; 233 colCS[lastI]=lastCS; 234 } 235 return lastCS*millibarn; 236 } 237 238 // Calculation of total elastic cross section 239 // F=0 - create AMDB, F=-1 - read&update AMDB, 240 G4double G4ChipsNeutronElasticXS::CalculateCro 241 G 242 { 243 244 G4double pMom=pIU/GeV; // All 245 onlyCS=CS; // Fla 246 lastLP=std::log(pMom); // Mak 247 if(F) // Thi 248 { 249 if(F<0) // the 250 { 251 lastPIN = PIN[I]; // Max 252 lastPAR = PAR[I]; // Poi 253 lastCST = CST[I]; // Poi 254 lastSST = SST[I]; // Poi 255 lastS1T = S1T[I]; // Poi 256 lastB1T = B1T[I]; // Poi 257 lastS2T = S2T[I]; // Poi 258 lastB2T = B2T[I]; // Poi 259 lastS3T = S3T[I]; // Poi 260 lastB3T = B3T[I]; // Poi 261 lastS4T = S4T[I]; // Poi 262 lastB4T = B4T[I]; // Poi 263 } 264 if(lastLP>lastPIN && lastLP<lPMax) 265 { 266 lastPIN=GetPTables(lastLP,lastPIN,PDG,tg 267 PIN[I]=lastPIN; // Rem 268 } 269 } 270 else // Thi 271 { 272 lastPAR = new G4double[nPoints]; // All 273 lastPAR[nLast]=0; // Ini 274 lastCST = new G4double[nPoints]; // All 275 lastSST = new G4double[nPoints]; // All 276 lastS1T = new G4double[nPoints]; // All 277 lastB1T = new G4double[nPoints]; // All 278 lastS2T = new G4double[nPoints]; // All 279 lastB2T = new G4double[nPoints]; // All 280 lastS3T = new G4double[nPoints]; // All 281 lastB3T = new G4double[nPoints]; // All 282 lastS4T = new G4double[nPoints]; // All 283 lastB4T = new G4double[nPoints]; // All 284 lastPIN = GetPTables(lastLP,lPMin,PDG,tgZ, 285 PIN.push_back(lastPIN); // Fil 286 PAR.push_back(lastPAR); // Fil 287 CST.push_back(lastCST); // Fil 288 SST.push_back(lastSST); // Fil 289 S1T.push_back(lastS1T); // Fil 290 B1T.push_back(lastB1T); // Fil 291 S2T.push_back(lastS2T); // Fil 292 B2T.push_back(lastB2T); // Fil 293 S3T.push_back(lastS3T); // Fil 294 B3T.push_back(lastB3T); // Fil 295 S4T.push_back(lastS4T); // Fil 296 B4T.push_back(lastB4T); // Fil 297 } // End of creation/update of the new set o 298 // =-------= NOW Update (if necessary) and C 299 if(lastLP>lastPIN && lastLP<lPMax) 300 { 301 lastPIN = GetPTables(lastLP,lastPIN,PDG,tg 302 } 303 if(!onlyCS) lastTM=GetQ2max(PDG, tgZ, tgN, p 304 if(lastLP>lPMin && lastLP<=lastPIN) // Lin 305 { 306 if(lastLP==lastPIN) 307 { 308 G4double shift=(lastLP-lPMin)/dlnP+.0000 309 G4int blast=static_cast<int>(shift); 310 if(blast<0 || blast>=nLast) G4cout<<"G4Q 311 lastSIG = lastCST[blast]; 312 if(!onlyCS) // Ski 313 { 314 theSS = lastSST[blast]; 315 theS1 = lastS1T[blast]; 316 theB1 = lastB1T[blast]; 317 theS2 = lastS2T[blast]; 318 theB2 = lastB2T[blast]; 319 theS3 = lastS3T[blast]; 320 theB3 = lastB3T[blast]; 321 theS4 = lastS4T[blast]; 322 theB4 = lastB4T[blast]; 323 } 324 } 325 else 326 { 327 G4double shift=(lastLP-lPMin)/dlnP; 328 G4int blast=static_cast<int>(shift); 329 if(blast<0) blast=0; 330 if(blast>=nLast) blast=nLast-1; 331 shift-=blast; 332 G4int lastL=blast+1; 333 G4double SIGL=lastCST[blast]; 334 lastSIG= SIGL+shift*(lastCST[lastL]-SIGL 335 if(!onlyCS) // Ski 336 { 337 G4double SSTL=lastSST[blast]; 338 theSS=SSTL+shift*(lastSST[lastL]-SSTL) 339 G4double S1TL=lastS1T[blast]; 340 theS1=S1TL+shift*(lastS1T[lastL]-S1TL) 341 G4double B1TL=lastB1T[blast]; 342 theB1=B1TL+shift*(lastB1T[lastL]-B1TL) 343 G4double S2TL=lastS2T[blast]; 344 theS2=S2TL+shift*(lastS2T[lastL]-S2TL) 345 G4double B2TL=lastB2T[blast]; 346 theB2=B2TL+shift*(lastB2T[lastL]-B2TL) 347 G4double S3TL=lastS3T[blast]; 348 theS3=S3TL+shift*(lastS3T[lastL]-S3TL) 349 G4double B3TL=lastB3T[blast]; 350 theB3=B3TL+shift*(lastB3T[lastL]-B3TL) 351 G4double S4TL=lastS4T[blast]; 352 theS4=S4TL+shift*(lastS4T[lastL]-S4TL) 353 G4double B4TL=lastB4T[blast]; 354 theB4=B4TL+shift*(lastB4T[lastL]-B4TL) 355 } 356 } 357 } 358 else lastSIG=GetTabValues(lastLP, PDG, tgZ, 359 if(lastSIG<0.) lastSIG = 0.; 360 return lastSIG; 361 } 362 363 // It has parameter sets for all tZ/tN/PDG, us 364 G4double G4ChipsNeutronElasticXS::GetPTables(G 365 366 { 367 // @@ At present all nA==pA ---------> Each 368 static const G4double pwd=2727; 369 const G4int n_npel=24; // #of 370 const G4int n_ppel=32; // #of 371 // -0- -1- -2- -3- -4- 372 G4double np_el[n_npel]={12.,.05,.0001,5.,.35 373 75.,.001,7.2,4.32,.0 374 // -15--16--17- -18- -1 375 // -0- -1- -2- -3- 376 G4double pp_el[n_ppel]={2.865,18.9,.6461,3., 377 .001,8.,.055,3.64,5. 378 8.5e8,1.e10,1.1,3.4e 379 // -14--15- -16- -17- - 380 // -26- -27- -28- -29 381 //==> n (Z=0) 382 static const G4int N0=1; // *** Not used (fa 383 static const G4double pZ0N1[7]={0., 0., 0., 384 static const std::pair<G4int, const G4double 385 static const std::pair<G4int, const G4double 386 //==> H (Z=1) *** protons are treated separa 387 static const G4int N1=3; 388 static const G4double pZ1N0[7]={0., 0., 0., 389 static const std::pair<G4int, const G4double 390 static const G4double pZ1N1[7]={6.E-5, 4., . 391 static const std::pair<G4int, const G4double 392 static const G4double pZ1N2[7]={6.E-5, 2.2, 393 static const std::pair<G4int, const G4double 394 static const std::pair<G4int, const G4double 395 //==> He(Z=2) 396 static const G4int N2=2; 397 static const G4double pZ2N1[7]={6.E-5, 3., . 398 static const std::pair<G4int, const G4double 399 static const G4double pZ2N2[7]={3.E-4, .23, 400 static const std::pair<G4int, const G4double 401 static const std::pair<G4int, const G4double 402 //==> Li(Z=3) 403 static const G4int N3=2; 404 static const G4double pZ3N3[7]={3.1E-7, 1.7, 405 static const std::pair<G4int, const G4double 406 static const G4double pZ3N4[7]={1.3E-6, 1.8, 407 static const std::pair<G4int, const G4double 408 static const std::pair<G4int, const G4double 409 //==> Be(Z=4) 410 static const G4int N4=2; 411 static const G4double pZ4N3[7]={2.E-4, 1.4, 412 static const std::pair<G4int, const G4double 413 static const G4double pZ4N5[7]={1.E-6, 5.7, 414 static const std::pair<G4int, const G4double 415 static const std::pair<G4int, const G4double 416 //==> B (Z=5) 417 static const G4int N5=2; 418 static const G4double pZ5N5[7]={8.E-7, 5., 3 419 static const std::pair<G4int, const G4double 420 static const G4double pZ5N6[7]={4.8E-6, 6.6, 421 static const std::pair<G4int, const G4double 422 static const std::pair<G4int, const G4double 423 //==> C (Z=6) *** Only nat (C13=C12=C_nat) * 424 static const G4int N6=2; 425 static const G4double pZ6N6[7]={4.9E-6, 6.6, 426 static const std::pair<G4int, const G4double 427 static const G4double pZ6N7[7]={4.9E-6, 6.6, 428 static const std::pair<G4int, const G4double 429 static const std::pair<G4int, const G4double 430 //==> N (Z=7) 431 static const G4int N7=2; 432 static const G4double pZ7N7[7]={4.9E-6, 1.6, 433 static const std::pair<G4int, const G4double 434 static const G4double pZ7N8[7]={2.5E-6, 5., 435 static const std::pair<G4int, const G4double 436 static const std::pair<G4int, const G4double 437 //==> O (Z=8) (O18=O17, No data) 438 static const G4int N8=3; 439 static const G4double pZ8N8[7]={2.5E-6, 5.3, 440 static const std::pair<G4int, const G4double 441 static const G4double pZ8N9[7]={1.4E-6, 2.1, 442 static const std::pair<G4int, const G4double 443 static const G4double pZ8N10[7]={1.4E-6, 2.1 444 static const std::pair<G4int, const G4double 445 static const std::pair<G4int, const G4double 446 //==> F (Z=9) 447 static const G4int N9=1; 448 static const G4double pZ9N10[7]={1.4E-6, 7.5 449 static const std::pair<G4int, const G4double 450 static const std::pair<G4int, const G4double 451 //==> Ne(Z=10) *** No data *** (Ne20=Na22, N 452 static const G4int N10=3; 453 static const G4double pZ10N10[7]={1.4E-5, 7. 454 static const std::pair<G4int, const G4double 455 static const G4double pZ10N11[7]={1.4E-6, 7. 456 static const std::pair<G4int, const G4double 457 static const G4double pZ10N12[7]={1.4E-5, 7. 458 static const std::pair<G4int, const G4double 459 static const std::pair<G4int, const G4double 460 //==> Na(Z=11) 461 static const G4int N11=2; 462 static const G4double pZ11N11[7]={1.4E-5, 7. 463 static const std::pair<G4int, const G4double 464 static const G4double pZ11N12[7]={1.4E-6, 7. 465 static const std::pair<G4int, const G4double 466 static const std::pair<G4int, const G4double 467 //==> Mg(Z=12) 468 static const G4int N12=3; 469 static const G4double pZ12N12[7]={8.E-7, 3., 470 static const std::pair<G4int, const G4double 471 static const G4double pZ12N13[7]={8.E-7, 7., 472 static const std::pair<G4int, const G4double 473 static const G4double pZ12N14[7]={1.2E-6, 6. 474 static const std::pair<G4int, const G4double 475 static const std::pair<G4int, const G4double 476 //==> Al(Z=13) 477 static const G4int N13=1; 478 static const G4double pZ13N14[7]={3.E-7, 5., 479 static const std::pair<G4int, const G4double 480 static const std::pair<G4int, const G4double 481 //==> Si(Z=14) 482 static const G4int N14=3; 483 static const G4double pZ14N14[7]={1.2E-6, 6. 484 static const std::pair<G4int, const G4double 485 static const G4double pZ14N15[7]={2.4E-6, 4. 486 static const std::pair<G4int, const G4double 487 static const G4double pZ14N16[7]={6.E-7, 4., 488 static const std::pair<G4int, const G4double 489 static const std::pair<G4int, const G4double 490 //==> P (Z=15) 491 static const G4int N15=1; 492 static const G4double pZ15N16[7]={6.E-7, 3., 493 static const std::pair<G4int, const G4double 494 static const std::pair<G4int, const G4double 495 //==> S (Z=16) 496 static const G4int N16=4; 497 static const G4double pZ16N16[7]={6.E-7, 3., 498 static const std::pair<G4int, const G4double 499 static const G4double pZ16N17[7]={2.4E-6, 3. 500 static const std::pair<G4int, const G4double 501 static const G4double pZ16N18[7]={2.4E-6, 1. 502 static const std::pair<G4int, const G4double 503 static const G4double pZ16N20[7]={2.4E-6, 3. 504 static const std::pair<G4int, const G4double 505 static const std::pair<G4int, const G4double 506 //==> Cl(Z=17) 507 static const G4int N17=2; 508 static const G4double pZ17N18[7]={1.2E-7, .0 509 static const std::pair<G4int, const G4double 510 static const G4double pZ17N20[7]={1.2E-7, 2. 511 static const std::pair<G4int, const G4double 512 static const std::pair<G4int, const G4double 513 //==> Ar(Z=18) 514 static const G4int N18=3; 515 static const G4double pZ18N18[7]={1.2E-7, .5 516 static const std::pair<G4int, const G4double 517 static const G4double pZ18N20[7]={1.2E-07, . 518 static const std::pair<G4int, const G4double 519 static const G4double pZ18N22[7]={1.2E-7, .6 520 static const std::pair<G4int, const G4double 521 static const std::pair<G4int, const G4double 522 //==> K (Z=19) 523 static const G4int N19=3; 524 static const G4double pZ19N20[7]={1.2E-7, 1. 525 static const std::pair<G4int, const G4double 526 static const G4double pZ19N21[7]={1.6E-7, 1. 527 static const std::pair<G4int, const G4double 528 static const G4double pZ19N22[7]={6.E-8, 1.3 529 static const std::pair<G4int, const G4double 530 static const std::pair<G4int, const G4double 531 //==> Ca(Z=20) 532 static const G4int N20=6; 533 static const G4double pZ20N20[7]={2.4E-7, 3. 534 static const std::pair<G4int, const G4double 535 static const G4double pZ20N22[7]={6.E-8, 2.7 536 static const std::pair<G4int, const G4double 537 static const G4double pZ20N23[7]={1.5E-8, 1. 538 static const std::pair<G4int, const G4double 539 static const G4double pZ20N24[7]={3.E-6, 5., 540 static const std::pair<G4int, const G4double 541 static const G4double pZ20N26[7]={1.7E-5, 18 542 static const std::pair<G4int, const G4double 543 static const G4double pZ20N28[7]={7.6E-6, .4 544 static const std::pair<G4int, const G4double 545 static const std::pair<G4int, const G4double 546 547 //==> Sc(Z=21) 548 static const G4int N21=1; 549 static const G4double pZ21N24[7]={3.6E-9, 1. 550 static const std::pair<G4int, const G4double 551 static const std::pair<G4int, const G4double 552 //==> Ti(Z=22) 553 static const G4int N22=5; 554 static const G4double pZ22N24[7]={2.8E-8, 1. 555 static const std::pair<G4int, const G4double 556 static const G4double pZ22N25[7]={3.1E-9, 1. 557 static const std::pair<G4int, const G4double 558 static const G4double pZ22N26[7]={3.E-9, 4., 559 static const std::pair<G4int, const G4double 560 static const G4double pZ22N27[7]={1.E-8, 2., 561 static const std::pair<G4int, const G4double 562 static const G4double pZ22N28[7]={4.E-7, 4., 563 static const std::pair<G4int, const G4double 564 static const std::pair<G4int, const G4double 565 566 //==> V (Z=23) *** Only nat *** (v50=v51=v_n 567 static const G4int N23=2; 568 static const G4double pZ23N27[7]={.3E-9, 2., 569 static const std::pair<G4int, const G4double 570 static const G4double pZ23N28[7]={.3E-9, 2., 571 static const std::pair<G4int, const G4double 572 static const std::pair<G4int, const G4double 573 //==> Cr(Z=24) 574 static const G4int N24=4; 575 static const G4double pZ24N26[7]={1.2E-9, 2. 576 static const std::pair<G4int, const G4double 577 static const G4double pZ24N28[7]={4.4E-6, 11 578 static const std::pair<G4int, const G4double 579 static const G4double pZ24N29[7]={1.8E-9, 2. 580 static const std::pair<G4int, const G4double 581 static const G4double pZ24N30[7]={4.8E-8, 2. 582 static const std::pair<G4int, const G4double 583 static const std::pair<G4int, const G4double 584 //==> Mn(Z=25) 585 static const G4int N25=1; 586 static const G4double pZ25N30[7]={6.5E-11, 1 587 static const std::pair<G4int, const G4double 588 static const std::pair<G4int, const G4double 589 //==> Fe(Z=26) 590 static const G4int N26=4; 591 static const G4double pZ26N28[7]={3.9E-8, 5. 592 static const std::pair<G4int, const G4double 593 static const G4double pZ26N30[7]={5.E-9, .4, 594 static const std::pair<G4int, const G4double 595 static const G4double pZ26N31[7]={.5E-9, .5, 596 static const std::pair<G4int, const G4double 597 static const G4double pZ26N32[7]={1.E-7, 3.1 598 static const std::pair<G4int, const G4double 599 static const std::pair<G4int, const G4double 600 //==> Co(Z=27) 601 static const G4int N27=2; 602 static const G4double pZ27N31[7]={4.E-7, 3., 603 static const std::pair<G4int, const G4double 604 static const G4double pZ27N32[7]={4.E-7, 5., 605 static const std::pair<G4int, const G4double 606 static const std::pair<G4int, const G4double 607 //==> Ni(Z=28) 608 static const G4int N28=6; 609 static const G4double pZ28N30[7]={1.E-7, 2.5 610 static const std::pair<G4int, const G4double 611 static const G4double pZ28N31[7]={1.E-7, 19. 612 static const std::pair<G4int, const G4double 613 static const G4double pZ28N32[7]={1.E-8, 2.5 614 static const std::pair<G4int, const G4double 615 static const G4double pZ28N33[7]={5.E-9, 2.6 616 static const std::pair<G4int, const G4double 617 static const G4double pZ28N34[7]={.24E-9, 2. 618 static const std::pair<G4int, const G4double 619 static const G4double pZ28N36[7]={1.E-8, 3., 620 static const std::pair<G4int, const G4double 621 static const std::pair<G4int, const G4double 622 623 //==> Cu(Z=29) 624 static const G4int N29=2; 625 static const G4double pZ29N34[7]={1.1E-7, 3. 626 static const std::pair<G4int, const G4double 627 static const G4double pZ29N36[7]={1.1E-7, 3. 628 static const std::pair<G4int, const G4double 629 static const std::pair<G4int, const G4double 630 //==> Zn(Z=30) *** Only nat *** (zn64=zn66=z 631 static const G4int N30=5; 632 static const G4double pZ30N34[7]={1.1E-7, 4. 633 static const std::pair<G4int, const G4double 634 static const G4double pZ30N36[7]={1.1E-7, 4. 635 static const std::pair<G4int, const G4double 636 static const G4double pZ30N37[7]={1.1E-7, 4. 637 static const std::pair<G4int, const G4double 638 static const G4double pZ30N38[7]={1.1E-7, 4. 639 static const std::pair<G4int, const G4double 640 static const G4double pZ30N40[7]={1.1E-7, 4. 641 static const std::pair<G4int, const G4double 642 static const std::pair<G4int, const G4double 643 644 //==> Ga(Z=31) 645 static const G4int N31=2; 646 static const G4double pZ31N38[7]={5.E-8, 3.7 647 static const std::pair<G4int, const G4double 648 static const G4double pZ31N40[7]={1.E-8, 3.1 649 static const std::pair<G4int, const G4double 650 static const std::pair<G4int, const G4double 651 //==> Ge(Z=32) 652 static const G4int N32=5; 653 static const G4double pZ32N38[7]={5.E-5, 4., 654 static const std::pair<G4int, const G4double 655 static const G4double pZ32N40[7]={5.E-7, 4.4 656 static const std::pair<G4int, const G4double 657 static const G4double pZ32N41[7]={5.E-9, 3., 658 static const std::pair<G4int, const G4double 659 static const G4double pZ32N42[7]={1.E-7, 4.2 660 static const std::pair<G4int, const G4double 661 static const G4double pZ32N44[7]={1.E-6, 4.6 662 static const std::pair<G4int, const G4double 663 static const std::pair<G4int, const G4double 664 665 //==> As(Z=33) 666 static const G4int N33=2; 667 static const G4double pZ33N41[7]={1.E-8, 3.4 668 static const std::pair<G4int, const G4double 669 static const G4double pZ33N42[7]={1.E-8, 4.1 670 static const std::pair<G4int, const G4double 671 static const std::pair<G4int, const G4double 672 //==> Se(Z=34) 673 static const G4int N34=7; 674 static const G4double pZ34N40[7]={6.E-8, 7.2 675 static const std::pair<G4int, const G4double 676 static const G4double pZ34N42[7]={4.E-5, 7.4 677 static const std::pair<G4int, const G4double 678 static const G4double pZ34N43[7]={1.E-7, 6.2 679 static const std::pair<G4int, const G4double 680 static const G4double pZ34N44[7]={1.E-7, 6.6 681 static const std::pair<G4int, const G4double 682 static const G4double pZ34N45[7]={5.E-8, 6.6 683 static const std::pair<G4int, const G4double 684 static const G4double pZ34N46[7]={2.E-7, 7.7 685 static const std::pair<G4int, const G4double 686 static const G4double pZ34N48[7]={2.E-7, 8.3 687 static const std::pair<G4int, const G4double 688 static const std::pair<G4int, const G4double 689 690 //==> Br(Z=35) 691 static const G4int N35=2; 692 static const G4double pZ35N44[7]={5.E-8, 6., 693 static const std::pair<G4int, const G4double 694 static const G4double pZ35N46[7]={4.E-8, 6.2 695 static const std::pair<G4int, const G4double 696 static const std::pair<G4int, const G4double 697 //==> Kr(Z=36) 698 static const G4int N36=7; 699 static const G4double pZ36N42[7]={1.6E-7, 6. 700 static const std::pair<G4int, const G4double 701 static const G4double pZ36N44[7]={1.6E-7, 7. 702 static const std::pair<G4int, const G4double 703 static const G4double pZ36N46[7]={1.6E-7, 7. 704 static const std::pair<G4int, const G4double 705 static const G4double pZ36N47[7]={1.6E-6, 7. 706 static const std::pair<G4int, const G4double 707 static const G4double pZ36N48[7]={1.6E-7, 7. 708 static const std::pair<G4int, const G4double 709 static const G4double pZ36N49[7]={6.E-7, 8., 710 static const std::pair<G4int, const G4double 711 static const G4double pZ36N50[7]={4.E-7, 8.1 712 static const std::pair<G4int, const G4double 713 static const std::pair<G4int, const G4double 714 715 //==> Rb(Z=37) 716 static const G4int N37=3; 717 static const G4double pZ37N48[7]={1.6E-7, 7. 718 static const std::pair<G4int, const G4double 719 static const G4double pZ37N49[7]={8.E-8, 7.1 720 static const std::pair<G4int, const G4double 721 static const G4double pZ37N50[7]={1.E-7, 8., 722 static const std::pair<G4int, const G4double 723 static const std::pair<G4int, const G4double 724 //==> Sr(Z=38) 725 static const G4int N38=6; 726 static const G4double pZ38N46[7]={8.E-8, 7.3 727 static const std::pair<G4int, const G4double 728 static const G4double pZ38N48[7]={8.E-8, 9.7 729 static const std::pair<G4int, const G4double 730 static const G4double pZ38N49[7]={2.6E-7, 9. 731 static const std::pair<G4int, const G4double 732 static const G4double pZ38N50[7]={2.6E-7, 9. 733 static const std::pair<G4int, const G4double 734 static const G4double pZ38N51[7]={1.3E-7, 9. 735 static const std::pair<G4int, const G4double 736 static const G4double pZ38N52[7]={2.6E-7, 9. 737 static const std::pair<G4int, const G4double 738 static const std::pair<G4int, const G4double 739 740 //==> Y (Z=39) 741 static const G4int N39=3; 742 static const G4double pZ39N50[7]={2.6E-7, 9. 743 static const std::pair<G4int, const G4double 744 static const G4double pZ39N51[7]={2.7E-5, 20 745 static const std::pair<G4int, const G4double 746 static const G4double pZ39N52[7]={2.E-7, 9.6 747 static const std::pair<G4int, const G4double 748 static const std::pair<G4int, const G4double 749 //==> Zr(Z=40) 750 static const G4int N40=7; 751 static const G4double pZ40N50[7]={1.E-7, 9., 752 static const std::pair<G4int, const G4double 753 static const G4double pZ40N51[7]={5.E-7, 9.8 754 static const std::pair<G4int, const G4double 755 static const G4double pZ40N52[7]={3.E-7, 9.6 756 static const std::pair<G4int, const G4double 757 static const G4double pZ40N53[7]={2.E-7, 9.6 758 static const std::pair<G4int, const G4double 759 static const G4double pZ40N54[7]={2.E-7, 9.6 760 static const std::pair<G4int, const G4double 761 static const G4double pZ40N55[7]={1.8E-7, 9. 762 static const std::pair<G4int, const G4double 763 static const G4double pZ40N56[7]={1.8E-7, 9. 764 static const std::pair<G4int, const G4double 765 static const std::pair<G4int, const G4double 766 767 //==> Nb(Z=41) 768 static const G4int N41=3; 769 static const G4double pZ41N52[7]={2.6E-7, 8. 770 static const std::pair<G4int, const G4double 771 //static const G4double pZ41N53[7]={2.E-7, 8 772 //static const std::pair<G4int, const G4doub 773 //static const G4double pZ41N54[7]={1.5E-7, 774 //static const std::pair<G4int, const G4doub 775 static const std::pair<G4int, const G4double 776 //==> Mo(Z=42) 777 static const G4int N42=8; 778 static const G4double pZ42N50[7]={2.E-7, 10. 779 static const std::pair<G4int, const G4double 780 static const G4double pZ42N52[7]={2.1E-7, 10 781 static const std::pair<G4int, const G4double 782 static const G4double pZ42N53[7]={3.E-7, 10. 783 static const std::pair<G4int, const G4double 784 static const G4double pZ42N54[7]={1.5E-7, 10 785 static const std::pair<G4int, const G4double 786 static const G4double pZ42N55[7]={1.9E-7, 9. 787 static const std::pair<G4int, const G4double 788 static const G4double pZ42N56[7]={1.9E-7, 9. 789 static const std::pair<G4int, const G4double 790 static const G4double pZ42N57[7]={1.4E-7, 8. 791 static const std::pair<G4int, const G4double 792 static const G4double pZ42N58[7]={1.8E-7, 9. 793 static const std::pair<G4int, const G4double 794 static const std::pair<G4int, const G4double 795 796 //==> Tc(Z=43) 797 static const G4int N43=1; 798 static const G4double pZ43N56[7]={1.E-7, 8., 799 static const std::pair<G4int, const G4double 800 static const std::pair<G4int, const G4double 801 //==> Ru(Z=44) 802 static const G4int N44=9; 803 static const G4double pZ44N52[7]={1.9E-7, 10 804 static const std::pair<G4int, const G4double 805 static const G4double pZ44N54[7]={1.5E-7, 10 806 static const std::pair<G4int, const G4double 807 static const G4double pZ44N55[7]={1.8E-7, 10 808 static const std::pair<G4int, const G4double 809 static const G4double pZ44N56[7]={1.8E-6, 10 810 static const std::pair<G4int, const G4double 811 static const G4double pZ44N57[7]={1.8E-7, 7. 812 static const std::pair<G4int, const G4double 813 static const G4double pZ44N58[7]={1.7E-6, 9. 814 static const std::pair<G4int, const G4double 815 static const G4double pZ44N59[7]={3.3E-7, 8. 816 static const std::pair<G4int, const G4double 817 static const G4double pZ44N60[7]={3.E-7, 8.7 818 static const std::pair<G4int, const G4double 819 static const G4double pZ44N61[7]={3.E-7, 8.8 820 static const std::pair<G4int, const G4double 821 static const std::pair<G4int, const G4double 822 823 824 //==> Rh(Z=45) 825 static const G4int N45=2; 826 static const G4double pZ45N58[7]={8.E-8, 8.7 827 static const std::pair<G4int, const G4double 828 static const G4double pZ45N60[7]={8.E-8, 8.7 829 static const std::pair<G4int, const G4double 830 static const std::pair<G4int, const G4double 831 //==> Pd(Z=46) 832 static const G4int N46=7; 833 static const G4double pZ46N56[7]={2.E-7, 9.9 834 static const std::pair<G4int, const G4double 835 static const G4double pZ46N58[7]={2.E-7, 9.9 836 static const std::pair<G4int, const G4double 837 static const G4double pZ46N59[7]={5.6E-7, 9. 838 static const std::pair<G4int, const G4double 839 static const G4double pZ46N60[7]={2.4E-7, 9. 840 static const std::pair<G4int, const G4double 841 static const G4double pZ46N61[7]={1.2E-7, 9. 842 static const std::pair<G4int, const G4double 843 static const G4double pZ46N62[7]={1.2E-7, 9. 844 static const std::pair<G4int, const G4double 845 static const G4double pZ46N64[7]={4.E-7, 9.1 846 static const std::pair<G4int, const G4double 847 static const std::pair<G4int, const G4double 848 849 //==> Ag(Z=47) 850 static const G4int N47=4; 851 static const G4double pZ47N60[7]={1.4E-6, 9. 852 static const std::pair<G4int, const G4double 853 static const G4double pZ47N62[7]={3.E-8, 8.7 854 static const std::pair<G4int, const G4double 855 static const G4double pZ47N63[7]={3.E-6, 9.5 856 static const std::pair<G4int, const G4double 857 static const G4double pZ47N64[7]={1.5E-7, 9. 858 static const std::pair<G4int, const G4double 859 static const std::pair<G4int, const G4double 860 //==> Cd(Z=48) 861 static const G4int N48=9; 862 static const G4double pZ48N58[7]={2.9E-7, 10 863 static const std::pair<G4int, const G4double 864 static const G4double pZ48N60[7]={2.3E-7, 10 865 static const std::pair<G4int, const G4double 866 static const G4double pZ48N62[7]={2.3E-7, 10 867 static const std::pair<G4int, const G4double 868 static const G4double pZ48N63[7]={8.4E-7, 11 869 static const std::pair<G4int, const G4double 870 static const G4double pZ48N64[7]={4.E-7, 11. 871 static const std::pair<G4int, const G4double 872 static const G4double pZ48N65[7]={1.6E-6, 12 873 static const std::pair<G4int, const G4double 874 static const G4double pZ48N66[7]={3.E-7, 11. 875 static const std::pair<G4int, const G4double 876 static const G4double pZ48N67[7]={3.8E-7, 11 877 static const std::pair<G4int, const G4double 878 static const G4double pZ48N68[7]={6.E-7, 11. 879 static const std::pair<G4int, const G4double 880 static const std::pair<G4int, const G4double 881 882 883 //==> In(Z=49) 884 static const G4int N49=2; 885 static const G4double pZ49N64[7]={2.7E-7, 12 886 static const std::pair<G4int, const G4double 887 static const G4double pZ49N66[7]={2.7E-7, 12 888 static const std::pair<G4int, const G4double 889 static const std::pair<G4int, const G4double 890 //==> Sn(Z=50) 891 static const G4int N50=14; 892 static const G4double pZ50N62[7]={4.E-7, 11. 893 static const std::pair<G4int, const G4double 894 static const G4double pZ50N63[7]={4.1E-7, 11 895 static const std::pair<G4int, const G4double 896 static const G4double pZ50N64[7]={5.E-7, 12. 897 static const std::pair<G4int, const G4double 898 static const G4double pZ50N65[7]={1.E-5, 12. 899 static const std::pair<G4int, const G4double 900 static const G4double pZ50N66[7]={5.E-7, 12. 901 static const std::pair<G4int, const G4double 902 static const G4double pZ50N67[7]={1.E-6, 12. 903 static const std::pair<G4int, const G4double 904 static const G4double pZ50N68[7]={5.E-7, 12. 905 static const std::pair<G4int, const G4double 906 static const G4double pZ50N69[7]={6.E-7, 12. 907 static const std::pair<G4int, const G4double 908 static const G4double pZ50N70[7]={1.E-6, 12. 909 static const std::pair<G4int, const G4double 910 static const G4double pZ50N72[7]={1.E-6, 12. 911 static const std::pair<G4int, const G4double 912 static const G4double pZ50N73[7]={5.E-7, 12. 913 static const std::pair<G4int, const G4double 914 static const G4double pZ50N74[7]={5.E-7, 12. 915 static const std::pair<G4int, const G4double 916 static const G4double pZ50N75[7]={5.E-7, 12. 917 static const std::pair<G4int, const G4double 918 static const G4double pZ50N76[7]={5.E-7, 12. 919 static const std::pair<G4int, const G4double 920 static const std::pair<G4int, const G4double 921 922 923 924 //==> Sb(Z=51) 925 static const G4int N51=5; 926 static const G4double pZ51N70[7]={6.E-7, 12. 927 static const std::pair<G4int, const G4double 928 static const G4double pZ51N72[7]={6.E-7, 12. 929 static const std::pair<G4int, const G4double 930 static const G4double pZ51N73[7]={1.1E-6, 12 931 static const std::pair<G4int, const G4double 932 static const G4double pZ51N74[7]={5.5E-7, 12 933 static const std::pair<G4int, const G4double 934 static const G4double pZ51N75[7]={6.E-7, 12. 935 static const std::pair<G4int, const G4double 936 static const std::pair<G4int, const G4double 937 938 //==> Te(Z=52) 939 static const G4int N52=11; 940 static const G4double pZ52N68[7]={2.7E-7, 12 941 static const std::pair<G4int, const G4double 942 static const G4double pZ52N70[7]={2.7E-7, 12 943 static const std::pair<G4int, const G4double 944 static const G4double pZ52N71[7]={2.7E-8, 12 945 static const std::pair<G4int, const G4double 946 static const G4double pZ52N72[7]={2.6E-6, 14 947 static const std::pair<G4int, const G4double 948 static const G4double pZ52N73[7]={1.E-6, 14. 949 static const std::pair<G4int, const G4double 950 static const G4double pZ52N74[7]={8.E-7, 14. 951 static const std::pair<G4int, const G4double 952 static const G4double pZ52N75[7]={8.E-7, 14. 953 static const std::pair<G4int, const G4double 954 static const G4double pZ52N76[7]={8.E-7, 14. 955 static const std::pair<G4int, const G4double 956 static const G4double pZ52N77[7]={5.E-7, 15. 957 static const std::pair<G4int, const G4double 958 static const G4double pZ52N78[7]={8.E-7, 14. 959 static const std::pair<G4int, const G4double 960 static const G4double pZ52N80[7]={4.7E-7, 14 961 static const std::pair<G4int, const G4double 962 static const std::pair<G4int, const G4double 963 964 965 //==> I (Z=53) 966 static const G4int N53=5; 967 static const G4double pZ53N74[7]={9.4E-7, 14 968 static const std::pair<G4int, const G4double 969 static const G4double pZ53N76[7]={2.1E-5, 14 970 static const std::pair<G4int, const G4double 971 static const G4double pZ53N77[7]={1.1E-6, 14 972 static const std::pair<G4int, const G4double 973 static const G4double pZ53N78[7]={5.5E-7, 14 974 static const std::pair<G4int, const G4double 975 static const G4double pZ53N82[7]={3.2E-6, 14 976 static const std::pair<G4int, const G4double 977 static const std::pair<G4int, const G4double 978 979 //==> Xe(Z=54) 980 static const G4int N54=12; 981 static const G4double pZ54N69[7]={3.E-6, 14. 982 static const std::pair<G4int, const G4double 983 static const G4double pZ54N70[7]={1.5E-7, 14 984 static const std::pair<G4int, const G4double 985 static const G4double pZ54N72[7]={1.5E-6, 14 986 static const std::pair<G4int, const G4double 987 static const G4double pZ54N74[7]={1.8E-6, 14 988 static const std::pair<G4int, const G4double 989 static const G4double pZ54N75[7]={1.E-6, 14. 990 static const std::pair<G4int, const G4double 991 static const G4double pZ54N76[7]={1.8E-6, 14 992 static const std::pair<G4int, const G4double 993 static const G4double pZ54N77[7]={2.3E-7, 14 994 static const std::pair<G4int, const G4double 995 static const G4double pZ54N78[7]={6.E-7, 14. 996 static const std::pair<G4int, const G4double 997 static const G4double pZ54N79[7]={6.E-7, 14. 998 static const std::pair<G4int, const G4double 999 static const G4double pZ54N80[7]={6.6E-7, 14 1000 static const std::pair<G4int, const G4doubl 1001 static const G4double pZ54N81[7]={.03, 40., 1002 static const std::pair<G4int, const G4doubl 1003 static const G4double pZ54N82[7]={3.1E-6, 1 1004 static const std::pair<G4int, const G4doubl 1005 static const std::pair<G4int, const G4doubl 1006 1007 1008 //==> Cs(Z=55) 1009 static const G4int N55=5; 1010 static const G4double pZ55N78[7]={1.4E-6, 1 1011 static const std::pair<G4int, const G4doubl 1012 static const G4double pZ55N79[7]={.028, 14. 1013 static const std::pair<G4int, const G4doubl 1014 static const G4double pZ55N80[7]={2.E-6, 14 1015 static const std::pair<G4int, const G4doubl 1016 static const G4double pZ55N81[7]={2.5E-7, 1 1017 static const std::pair<G4int, const G4doubl 1018 static const G4double pZ55N82[7]={2.5E-7, 1 1019 static const std::pair<G4int, const G4doubl 1020 static const std::pair<G4int, const G4doubl 1021 1022 //==> Ba(Z=56) 1023 static const G4int N56=9; 1024 static const G4double pZ56N74[7]={4.E-7, 14 1025 static const std::pair<G4int, const G4doubl 1026 static const G4double pZ56N76[7]={4.E-6, 14 1027 static const std::pair<G4int, const G4doubl 1028 static const G4double pZ56N77[7]={2.E-7, 14 1029 static const std::pair<G4int, const G4doubl 1030 static const G4double pZ56N78[7]={1.6E-6, 1 1031 static const std::pair<G4int, const G4doubl 1032 static const G4double pZ56N79[7]={5.E-7, 17 1033 static const std::pair<G4int, const G4doubl 1034 static const G4double pZ56N80[7]={2.E-6, 20 1035 static const std::pair<G4int, const G4doubl 1036 static const G4double pZ56N81[7]={5.8E-6, 2 1037 static const std::pair<G4int, const G4doubl 1038 static const G4double pZ56N82[7]={2.7E-6, 2 1039 static const std::pair<G4int, const G4doubl 1040 static const G4double pZ56N84[7]={1.1E-6, 2 1041 static const std::pair<G4int, const G4doubl 1042 static const std::pair<G4int, const G4doubl 1043 1044 1045 //==> La(Z=57) 1046 static const G4int N57=3; 1047 static const G4double pZ57N81[7]={2.7E-6, 2 1048 static const std::pair<G4int, const G4doubl 1049 static const G4double pZ57N82[7]={5.4E-6, 2 1050 static const std::pair<G4int, const G4doubl 1051 static const G4double pZ57N83[7]={2.7E-6, 2 1052 static const std::pair<G4int, const G4doubl 1053 static const std::pair<G4int, const G4doubl 1054 //==> Ce(Z=58) 1055 static const G4int N58=8; 1056 static const G4double pZ58N78[7]={1.8E-6, 2 1057 static const std::pair<G4int, const G4doubl 1058 static const G4double pZ58N80[7]={1.8E-6, 1 1059 static const std::pair<G4int, const G4doubl 1060 static const G4double pZ58N81[7]={.0018, 18 1061 static const std::pair<G4int, const G4doubl 1062 static const G4double pZ58N82[7]={1.8E-6, 1 1063 static const std::pair<G4int, const G4doubl 1064 static const G4double pZ58N83[7]={7.2E-6, 2 1065 static const std::pair<G4int, const G4doubl 1066 static const G4double pZ58N84[7]={1.2E-6, 1 1067 static const std::pair<G4int, const G4doubl 1068 static const G4double pZ58N85[7]={1.2E-6, 1 1069 static const std::pair<G4int, const G4doubl 1070 static const G4double pZ58N86[7]={6.E-7, 18 1071 static const std::pair<G4int, const G4doubl 1072 static const std::pair<G4int, const G4doubl 1073 1074 //==> Pr(Z=59) 1075 static const G4int N59=3; 1076 static const G4double pZ59N82[7]={9.5E-7, 1 1077 static const std::pair<G4int, const G4doubl 1078 static const G4double pZ59N83[7]={9.5E-7, 1 1079 static const std::pair<G4int, const G4doubl 1080 static const G4double pZ59N84[7]={9.5E-6, 1 1081 static const std::pair<G4int, const G4doubl 1082 static const std::pair<G4int, const G4doubl 1083 //==> Nd(Z=60) 1084 static const G4int N60=8; 1085 static const G4double pZ60N82[7]={9.6E-6, 2 1086 static const std::pair<G4int, const G4doubl 1087 static const G4double pZ60N83[7]={9.6E-4, 2 1088 static const std::pair<G4int, const G4doubl 1089 static const G4double pZ60N84[7]={4.8E-7, 2 1090 static const std::pair<G4int, const G4doubl 1091 static const G4double pZ60N85[7]={.0048, 20 1092 static const std::pair<G4int, const G4doubl 1093 static const G4double pZ60N86[7]={1.2E-6, 1 1094 static const std::pair<G4int, const G4doubl 1095 static const G4double pZ60N87[7]={.0012, 15 1096 static const std::pair<G4int, const G4doubl 1097 static const G4double pZ60N88[7]={1.5E-7, 1 1098 static const std::pair<G4int, const G4doubl 1099 static const G4double pZ60N90[7]={1.5E-7, 1 1100 static const std::pair<G4int, const G4doubl 1101 static const std::pair<G4int, const G4doubl 1102 1103 //==> Pm(Z=61) 1104 static const G4int N61=3; 1105 static const G4double pZ61N86[7]={6.E-7, 16 1106 static const std::pair<G4int, const G4doubl 1107 static const G4double pZ61N87[7]={6.2E-8, 1 1108 static const std::pair<G4int, const G4doubl 1109 static const G4double pZ61N88[7]={3.2E-8, 1 1110 static const std::pair<G4int, const G4doubl 1111 static const std::pair<G4int, const G4doubl 1112 //==> Sm(Z=62) 1113 static const G4int N62=9; 1114 static const G4double pZ62N82[7]={1.2E-7, 1 1115 static const std::pair<G4int, const G4doubl 1116 static const G4double pZ62N85[7]={1.2E-7, 1 1117 static const std::pair<G4int, const G4doubl 1118 static const G4double pZ62N86[7]={6.E-8, 16 1119 static const std::pair<G4int, const G4doubl 1120 static const G4double pZ62N87[7]={6.E-8, 15 1121 static const std::pair<G4int, const G4doubl 1122 static const G4double pZ62N88[7]={6.E-7, 16 1123 static const std::pair<G4int, const G4doubl 1124 static const G4double pZ62N89[7]={6.E-7, 16 1125 static const std::pair<G4int, const G4doubl 1126 static const G4double pZ62N90[7]={6.E-8, 15 1127 static const std::pair<G4int, const G4doubl 1128 static const G4double pZ62N91[7]={6.E-8, 15 1129 static const std::pair<G4int, const G4doubl 1130 static const G4double pZ62N92[7]={1.2E-7, 1 1131 static const std::pair<G4int, const G4doubl 1132 static const std::pair<G4int, const G4doubl 1133 1134 1135 //==> Eu(Z=63) 1136 static const G4int N63=7; 1137 static const G4double pZ63N88[7]={6.E-8, 15 1138 static const std::pair<G4int, const G4doubl 1139 static const G4double pZ63N89[7]={6.E-7, 15 1140 static const std::pair<G4int, const G4doubl 1141 static const G4double pZ63N90[7]={3.E-7, 15 1142 static const std::pair<G4int, const G4doubl 1143 static const G4double pZ63N91[7]={4.1E-7, 1 1144 static const std::pair<G4int, const G4doubl 1145 static const G4double pZ63N92[7]={5.E-8, 15 1146 static const std::pair<G4int, const G4doubl 1147 static const G4double pZ63N93[7]={4.1E-8, 1 1148 static const std::pair<G4int, const G4doubl 1149 static const G4double pZ63N94[7]={4.2E-8, 1 1150 static const std::pair<G4int, const G4doubl 1151 static const std::pair<G4int, const G4doubl 1152 1153 //==> Gd(Z=64) 1154 static const G4int N64=8; 1155 static const G4double pZ64N88[7]={4.2E-8, 1 1156 static const std::pair<G4int, const G4doubl 1157 static const G4double pZ64N89[7]={2.E-6, 14 1158 static const std::pair<G4int, const G4doubl 1159 static const G4double pZ64N90[7]={1.7E-7, 1 1160 static const std::pair<G4int, const G4doubl 1161 static const G4double pZ64N91[7]={1.7E-7, 1 1162 static const std::pair<G4int, const G4doubl 1163 static const G4double pZ64N92[7]={1.7E-7, 1 1164 static const std::pair<G4int, const G4doubl 1165 static const G4double pZ64N93[7]={1.7E-6, 1 1166 static const std::pair<G4int, const G4doubl 1167 static const G4double pZ64N94[7]={3.4E-7, 1 1168 static const std::pair<G4int, const G4doubl 1169 static const G4double pZ64N96[7]={2.6E-6, 1 1170 static const std::pair<G4int, const G4doubl 1171 static const std::pair<G4int, const G4doubl 1172 1173 //==> Tb(Z=65) 1174 static const G4int N65=2; 1175 static const G4double pZ65N94[7]={9.E-7, 16 1176 static const std::pair<G4int, const G4doubl 1177 //static const G4double pZ65N95[7]={4.5E-7, 1178 //static const std::pair<G4int, const G4dou 1179 static const std::pair<G4int, const G4doubl 1180 //==> Dy(Z=66) 1181 static const G4int N66=7; 1182 static const G4double pZ66N90[7]={1.2E-7, 1 1183 static const std::pair<G4int, const G4doubl 1184 static const G4double pZ66N92[7]={1.2E-7, 1 1185 static const std::pair<G4int, const G4doubl 1186 static const G4double pZ66N94[7]={1.2E-7, 1 1187 static const std::pair<G4int, const G4doubl 1188 static const G4double pZ66N95[7]={1.2E-6, 1 1189 static const std::pair<G4int, const G4doubl 1190 static const G4double pZ66N96[7]={1.2E-7, 1 1191 static const std::pair<G4int, const G4doubl 1192 static const G4double pZ66N97[7]={1.5E-7, 1 1193 static const std::pair<G4int, const G4doubl 1194 static const G4double pZ66N98[7]={3.E-7, 13 1195 static const std::pair<G4int, const G4doubl 1196 static const std::pair<G4int, const G4doubl 1197 1198 //==> Ho(Z=67) 1199 static const G4int N67=2; 1200 static const G4double pZ67N98[7]={3.E-7, 13 1201 static const std::pair<G4int, const G4doubl 1202 static const G4double pZ67N99[7]={7.5E-8, 1 1203 static const std::pair<G4int, const G4doubl 1204 static const std::pair<G4int, const G4doubl 1205 //==> Er(Z=68) 1206 static const G4int N68=6; 1207 static const G4double pZ68N94[7]={1.2E-7, 1 1208 static const std::pair<G4int, const G4doubl 1209 static const G4double pZ68N96[7]={1.2E-7, 1 1210 static const std::pair<G4int, const G4doubl 1211 static const G4double pZ68N98[7]={1.E-6, 13 1212 static const std::pair<G4int, const G4doubl 1213 static const G4double pZ68N99[7]={1.2E-7, 1 1214 static const std::pair<G4int, const G4doubl 1215 static const G4double pZ68N100[7]={2.E-6, 1 1216 static const std::pair<G4int, const G4doubl 1217 static const G4double pZ68N102[7]={2.E-6, 1 1218 static const std::pair<G4int, const G4doubl 1219 static const std::pair<G4int, const G4doubl 1220 1221 //==> Tm(Z=69) *** No data *** (Tm169=Er167 1222 static const G4int N69=1; 1223 static const G4double pZ69N100[7]={1.2E-7, 1224 static const std::pair<G4int, const G4doubl 1225 static const std::pair<G4int, const G4doubl 1226 //==> Yb(Z=70) *** No data *** (Yb168=Er166 1227 // Yb173=Hf177 1228 static const G4int N70=7; 1229 static const G4double pZ70N98[7]={1.E-6, 13 1230 static const std::pair<G4int, const G4doubl 1231 static const G4double pZ70N100[7]={2.E-6, 1 1232 static const std::pair<G4int, const G4doubl 1233 static const G4double pZ70N101[7]={1.2E-7, 1234 static const std::pair<G4int, const G4doubl 1235 static const G4double pZ70N102[7]={2.E-6, 1 1236 static const std::pair<G4int, const G4doubl 1237 static const G4double pZ70N103[7]={5.E-7, 1 1238 static const std::pair<G4int, const G4doubl 1239 static const G4double pZ70N104[7]={5.E-7, 1 1240 static const std::pair<G4int, const G4doubl 1241 static const G4double pZ70N106[7]={5.E-7, 1 1242 static const std::pair<G4int, const G4doubl 1243 static const std::pair<G4int, const G4doubl 1244 1245 1246 //==> Lu(Z=71) 1247 static const G4int N71=2; 1248 static const G4double pZ71N104[7]={5.E-7, 1 1249 static const std::pair<G4int, const G4doubl 1250 static const G4double pZ71N105[7]={2.5E-7, 1251 static const std::pair<G4int, const G4doubl 1252 static const std::pair<G4int, const G4doubl 1253 //==> Hf(Z=72) 1254 static const G4int N72=6; 1255 static const G4double pZ72N102[7]={1.E-6, 1 1256 static const std::pair<G4int, const G4doubl 1257 static const G4double pZ72N104[7]={5.E-7, 1 1258 static const std::pair<G4int, const G4doubl 1259 static const G4double pZ72N105[7]={5.E-7, 1 1260 static const std::pair<G4int, const G4doubl 1261 static const G4double pZ72N106[7]={5.E-7, 1 1262 static const std::pair<G4int, const G4doubl 1263 static const G4double pZ72N107[7]={2.5E-7, 1264 static const std::pair<G4int, const G4doubl 1265 static const G4double pZ72N108[7]={1.E-6, 1 1266 static const std::pair<G4int, const G4doubl 1267 static const std::pair<G4int, const G4doubl 1268 1269 //==> Ta(Z=73) 1270 static const G4int N73=2; 1271 static const G4double pZ73N108[7]={5.E-7, 1 1272 static const std::pair<G4int, const G4doubl 1273 //static const G4double pZ73N109[7]={1.E-6, 1274 //static const std::pair<G4int, const G4dou 1275 static const std::pair<G4int, const G4doubl 1276 //==> W (Z=74) *** W180 only bad TENDL-2008 1277 static const G4int N74=5; 1278 static const G4double pZ74N106[7]={5.E-7, 1 1279 static const std::pair<G4int, const G4doubl 1280 static const G4double pZ74N108[7]={4.E-6, 1 1281 static const std::pair<G4int, const G4doubl 1282 static const G4double pZ74N109[7]={1.2E-7, 1283 static const std::pair<G4int, const G4doubl 1284 static const G4double pZ74N110[7]={1.2E-7, 1285 static const std::pair<G4int, const G4doubl 1286 static const G4double pZ74N112[7]={1.2E-7, 1287 static const std::pair<G4int, const G4doubl 1288 static const std::pair<G4int, const G4doubl 1289 1290 //==> Re(Z=75) 1291 static const G4int N75=2; 1292 static const G4double pZ75N110[7]={1.2E-7, 1293 static const std::pair<G4int, const G4doubl 1294 static const G4double pZ75N112[7]={1.2E-7, 1295 static const std::pair<G4int, const G4doubl 1296 static const std::pair<G4int, const G4doubl 1297 //==> Os(Z=76) *** No data *** (Os184=W182, 1298 // Os189=Re187 1299 static const G4int N76=7; 1300 static const G4double pZ76N108[7]={4.E-6, 1 1301 static const std::pair<G4int, const G4doubl 1302 static const G4double pZ76N110[7]={1.2E-7, 1303 static const std::pair<G4int, const G4doubl 1304 static const G4double pZ76N111[7]={1.2E-7, 1305 static const std::pair<G4int, const G4doubl 1306 static const G4double pZ76N112[7]={1.2E-7, 1307 static const std::pair<G4int, const G4doubl 1308 static const G4double pZ76N113[7]={1.2E-7, 1309 static const std::pair<G4int, const G4doubl 1310 static const G4double pZ76N114[7]={1.2E-7, 1311 static const std::pair<G4int, const G4doubl 1312 static const G4double pZ76N116[7]={1.2E-7, 1313 static const std::pair<G4int, const G4doubl 1314 static const std::pair<G4int, const G4doubl 1315 1316 1317 //==> Ir(Z=77) 1318 static const G4int N77=2; 1319 static const G4double pZ77N114[7]={4.8E-7, 1320 static const std::pair<G4int, const G4doubl 1321 static const G4double pZ77N116[7]={4.8E-7, 1322 static const std::pair<G4int, const G4doubl 1323 static const std::pair<G4int, const G4doubl 1324 //==> Pt(Z=78) *** No data *** (Pt190=Pt192 1325 // Pt198=Hg200 1326 static const G4int N78=6; 1327 static const G4double pZ78N112[7]={6.E-8, 1 1328 static const std::pair<G4int, const G4doubl 1329 static const G4double pZ78N114[7]={6.E-8, 1 1330 static const std::pair<G4int, const G4doubl 1331 static const G4double pZ78N116[7]={6.E-8, 1 1332 static const std::pair<G4int, const G4doubl 1333 static const G4double pZ78N117[7]={9.6E-7, 1334 static const std::pair<G4int, const G4doubl 1335 static const G4double pZ78N118[7]={2.4E-7, 1336 static const std::pair<G4int, const G4doubl 1337 static const G4double pZ78N120[7]={2.E-6, 1 1338 static const std::pair<G4int, const G4doubl 1339 static const std::pair<G4int, const G4doubl 1340 1341 //==> Au(Z=79) 1342 static const G4int N79=1; 1343 static const G4double pZ79N118[7]={2.4E-7, 1344 static const std::pair<G4int, const G4doubl 1345 static const std::pair<G4int, const G4doubl 1346 //==> Hg(Z=80) 1347 static const G4int N80=7; 1348 static const G4double pZ80N116[7]={6.E-8, 1 1349 static const std::pair<G4int, const G4doubl 1350 static const G4double pZ80N118[7]={2.4E-7, 1351 static const std::pair<G4int, const G4doubl 1352 static const G4double pZ80N119[7]={9.6E-7, 1353 static const std::pair<G4int, const G4doubl 1354 static const G4double pZ80N120[7]={2.E-6, 1 1355 static const std::pair<G4int, const G4doubl 1356 static const G4double pZ80N121[7]={1.E-6, 2 1357 static const std::pair<G4int, const G4doubl 1358 static const G4double pZ80N122[7]={2.E-6, 1 1359 static const std::pair<G4int, const G4doubl 1360 static const G4double pZ80N124[7]={2.0E-6, 1361 static const std::pair<G4int, const G4doubl 1362 static const std::pair<G4int, const G4doubl 1363 1364 1365 //==> Tl(Z=81) *** No data *** (Tl203=Au196 1366 static const G4int N81=2; 1367 static const G4double pZ81N122[7]={2.4E-7, 1368 static const std::pair<G4int, const G4doubl 1369 static const G4double pZ81N124[7]={}; 1370 static const std::pair<G4int, const G4doubl 1371 static const std::pair<G4int, const G4doubl 1372 //==> Pb(Z=82) 1373 static const G4int N82=4; 1374 static const G4double pZ82N122[7]={4.E-6, 2 1375 static const std::pair<G4int, const G4doubl 1376 static const G4double pZ82N124[7]={4.E-6, 2 1377 static const std::pair<G4int, const G4doubl 1378 static const G4double pZ82N125[7]={2.E-6, 2 1379 static const std::pair<G4int, const G4doubl 1380 static const G4double pZ82N126[7]={4.E-6, 2 1381 static const std::pair<G4int, const G4doubl 1382 static const std::pair<G4int, const G4doubl 1383 1384 //==> Bi(Z=83) 1385 static const G4int N83=1; 1386 static const G4double pZ83N126[7]={8.E-7, 2 1387 static const std::pair<G4int, const G4doubl 1388 static const std::pair<G4int, const G4doubl 1389 //==> Po(Z=84) *** No data *** (Po209=Pb207 1390 static const G4int N84=1; 1391 static const G4double pZ84N125[7]={2.E-6, 2 1392 static const std::pair<G4int, const G4doubl 1393 static const std::pair<G4int, const G4doubl 1394 //==> At(Z=85) *** No data *** (At210=Pb207 1395 static const G4int N85=1; 1396 static const G4double pZ85N125[7]={2.E-6, 2 1397 static const std::pair<G4int, const G4doubl 1398 static const std::pair<G4int, const G4doubl 1399 //==> Rn(Z=86) *** No data *** (Rn222=Ra224 1400 static const G4int N86=1; 1401 static const G4double pZ86N136[7]={1.E-7, 2 1402 static const std::pair<G4int, const G4doubl 1403 static const std::pair<G4int, const G4doubl 1404 //==> Fr(Z=87) *** No data *** (Fr223=Ac225 1405 static const G4int N87=1; 1406 static const G4double pZ87N136[7]={2.E-7, 2 1407 static const std::pair<G4int, const G4doubl 1408 static const std::pair<G4int, const G4doubl 1409 //==> Ra(Z=88) 1410 static const G4int N88=4; 1411 static const G4double pZ88N135[7]={1.E-7, 2 1412 static const std::pair<G4int, const G4doubl 1413 static const G4double pZ88N136[7]={1.E-7, 2 1414 static const std::pair<G4int, const G4doubl 1415 static const G4double pZ88N137[7]={1.E-7, 2 1416 static const std::pair<G4int, const G4doubl 1417 static const G4double pZ88N138[7]={4.E-7, 2 1418 static const std::pair<G4int, const G4doubl 1419 static const std::pair<G4int, const G4doubl 1420 1421 //==> Ac(Z=89) 1422 static const G4int N89=3; 1423 static const G4double pZ89N136[7]={2.E-7, 2 1424 static const std::pair<G4int, const G4doubl 1425 static const G4double pZ89N137[7]={4.E-7, 2 1426 static const std::pair<G4int, const G4doubl 1427 static const G4double pZ89N138[7]={1.E-7, 2 1428 static const std::pair<G4int, const G4doubl 1429 static const std::pair<G4int, const G4doubl 1430 //==> Th(Z=90) 1431 static const G4int N90=7; 1432 static const G4double pZ90N137[7]={4.E-7, 2 1433 static const std::pair<G4int, const G4doubl 1434 static const G4double pZ90N138[7]={1.E-6, 2 1435 static const std::pair<G4int, const G4doubl 1436 static const G4double pZ90N139[7]={2.5E-7, 1437 static const std::pair<G4int, const G4doubl 1438 static const G4double pZ90N140[7]={1.2E-7, 1439 static const std::pair<G4int, const G4doubl 1440 static const G4double pZ90N142[7]={4.E-6, 2 1441 static const std::pair<G4int, const G4doubl 1442 static const G4double pZ90N143[7]={9.4E-7, 1443 static const std::pair<G4int, const G4doubl 1444 static const G4double pZ90N144[7]={2.5E-7, 1445 static const std::pair<G4int, const G4doubl 1446 static const std::pair<G4int, const G4doubl 1447 1448 1449 //==> Pa(Z=91) 1450 static const G4int N91=3; 1451 static const G4double pZ91N140[7]={1.E-5, 2 1452 static const std::pair<G4int, const G4doubl 1453 static const G4double pZ91N141[7]={8.E-6, 2 1454 static const std::pair<G4int, const G4doubl 1455 static const G4double pZ91N142[7]={8.E-6, 2 1456 static const std::pair<G4int, const G4doubl 1457 static const std::pair<G4int, const G4doubl 1458 //==> U (Z=92) 1459 static const G4int N92=10; 1460 static const G4double pZ92N140[7]={1.4E-6, 1461 static const std::pair<G4int, const G4doubl 1462 static const G4double pZ92N141[7]={5.6E-6, 1463 static const std::pair<G4int, const G4doubl 1464 static const G4double pZ92N142[7]={5.6E-6, 1465 static const std::pair<G4int, const G4doubl 1466 static const G4double pZ92N143[7]={5.6E-6, 1467 static const std::pair<G4int, const G4doubl 1468 static const G4double pZ92N144[7]={3.6E-7, 1469 static const std::pair<G4int, const G4doubl 1470 static const G4double pZ92N145[7]={3.6E-6, 1471 static const std::pair<G4int, const G4doubl 1472 static const G4double pZ92N146[7]={3.6E-7, 1473 static const std::pair<G4int, const G4doubl 1474 static const G4double pZ92N147[7]={3.6E-6, 1475 static const std::pair<G4int, const G4doubl 1476 static const G4double pZ92N148[7]={3.4E-7, 1477 static const std::pair<G4int, const G4doubl 1478 //static const G4double pZ92N149[7]={3.3E-7 1479 //static const std::pair<G4int, const G4dou 1480 static const std::pair<G4int, const G4doubl 1481 1482 1483 1484 //==> Np(Z=93) 1485 static const G4int N93=5; 1486 static const G4double pZ93N142[7]={3.4E-6, 1487 static const std::pair<G4int, const G4doubl 1488 static const G4double pZ93N143[7]={3.4E-6, 1489 static const std::pair<G4int, const G4doubl 1490 static const G4double pZ93N144[7]={6.8E-6, 1491 static const std::pair<G4int, const G4doubl 1492 static const G4double pZ93N145[7]={3.4E-6, 1493 static const std::pair<G4int, const G4doubl 1494 static const G4double pZ93N146[7]={3.4E-6, 1495 static const std::pair<G4int, const G4doubl 1496 static const std::pair<G4int, const G4doubl 1497 1498 //==> Pu(Z=94) 1499 static const G4int N94=10; 1500 static const G4double pZ94N142[7]={6.8E-7, 1501 static const std::pair<G4int, const G4doubl 1502 static const G4double pZ94N143[7]={6.8E-6, 1503 static const std::pair<G4int, const G4doubl 1504 static const G4double pZ94N144[7]={6.8E-7, 1505 static const std::pair<G4int, const G4doubl 1506 static const G4double pZ94N145[7]={2.6E-6, 1507 static const std::pair<G4int, const G4doubl 1508 static const G4double pZ94N146[7]={2.5E-7, 1509 static const std::pair<G4int, const G4doubl 1510 static const G4double pZ94N147[7]={1.4E-5, 1511 static const std::pair<G4int, const G4doubl 1512 static const G4double pZ94N148[7]={3.4E-7, 1513 static const std::pair<G4int, const G4doubl 1514 static const G4double pZ94N149[7]={5.2E-6, 1515 static const std::pair<G4int, const G4doubl 1516 static const G4double pZ94N150[7]={3.3E-7, 1517 static const std::pair<G4int, const G4doubl 1518 static const G4double pZ94N152[7]={2.5E-6, 1519 static const std::pair<G4int, const G4doubl 1520 static const std::pair<G4int, const G4doubl 1521 1522 1523 1524 //==> Am(Z=95) 1525 static const G4int N95=4; 1526 static const G4double pZ95N156[7]={2.5E-6, 1527 static const std::pair<G4int, const G4doubl 1528 static const G4double pZ95N157[7]={5.E-6, 1 1529 static const std::pair<G4int, const G4doubl 1530 static const G4double pZ95N158[7]={5.E-6, 1 1531 static const std::pair<G4int, const G4doubl 1532 static const G4double pZ95N159[7]={5.E-5, 2 1533 static const std::pair<G4int, const G4doubl 1534 static const std::pair<G4int, const G4doubl 1535 1536 //==> Cm(Z=96) 1537 static const G4int N96=10; 1538 static const G4double pZ96N145[7]={5.E-5, 2 1539 static const std::pair<G4int, const G4doubl 1540 static const G4double pZ96N146[7]={5.E-5, 2 1541 static const std::pair<G4int, const G4doubl 1542 static const G4double pZ96N147[7]={5.E-5, 2 1543 static const std::pair<G4int, const G4doubl 1544 static const G4double pZ96N148[7]={5.E-5, 2 1545 static const std::pair<G4int, const G4doubl 1546 static const G4double pZ96N149[7]={5.E-5, 2 1547 static const std::pair<G4int, const G4doubl 1548 static const G4double pZ96N150[7]={5.E-5, 2 1549 static const std::pair<G4int, const G4doubl 1550 static const G4double pZ96N151[7]={5.E-5, 2 1551 static const std::pair<G4int, const G4doubl 1552 static const G4double pZ96N152[7]={6.5E-7, 1553 static const std::pair<G4int, const G4doubl 1554 static const G4double pZ96N153[7]={1.6E-6, 1555 static const std::pair<G4int, const G4doubl 1556 static const G4double pZ96N154[7]={1.3E-5, 1557 static const std::pair<G4int, const G4doubl 1558 static const std::pair<G4int, const G4doubl 1559 1560 1561 1562 //==> Bk(Z=97) 1563 static const G4int N97=2; 1564 static const G4double pZ97N152[7]={6.5E-7, 1565 static const std::pair<G4int, const G4doubl 1566 static const G4double pZ97N153[7]={6.5E-6, 1567 static const std::pair<G4int, const G4doubl 1568 static const std::pair<G4int, const G4doubl 1569 //==> Cf(Z=98) 1570 static const G4int N98=6; 1571 static const G4double pZ98N151[7]={6.5E-6, 1572 static const std::pair<G4int, const G4doubl 1573 static const G4double pZ98N152[7]={1.3E-6, 1574 static const std::pair<G4int, const G4doubl 1575 static const G4double pZ98N153[7]={2.6E-6, 1576 static const std::pair<G4int, const G4doubl 1577 static const G4double pZ98N154[7]={2.6E-6, 1578 static const std::pair<G4int, const G4doubl 1579 static const G4double pZ98N155[7]={2.6E-5, 1580 static const std::pair<G4int, const G4doubl 1581 static const G4double pZ98N156[7]={5.2E-7, 1582 static const std::pair<G4int, const G4doubl 1583 static const std::pair<G4int, const G4doubl 1584 1585 1586 static const G4int NZ=99; // #of Elements c 1587 static const std::pair<G4int, const G4doubl 1588 Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z 1589 Z31,Z32,Z33,Z34,Z35,Z36,Z37,Z38,Z39,Z40,Z 1590 Z52,Z53,Z54,Z55,Z56,Z57,Z58,Z59,Z60,Z61,Z 1591 Z73,Z74,Z75,Z76,Z77,Z78,Z79,Z80,Z81,Z82,Z 1592 Z94,Z95,Z96,Z97,Z98}; 1593 static const G4int NIso[NZ]={N0,N1,N2,N3,N4 1594 N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N 1595 N38,N39,N40,N41,N42,N43,N44,N45,N46,N47,N 1596 N59,N60,N61,N62,N63,N64,N65,N66,N67,N68,N 1597 N80,N81,N82,N83,N84,N85,N86,N87,N88,N89,N 1598 if(PDG==2112) 1599 { 1600 // --- Total np elastic cross section cs 1601 //p2=p*p;p3=p2*p;sp=sqrt(p);p2s=p2*sp;lp= 1602 //CS=12./(p2s+.05*p+.0001/sqrt(sp))+.35/p 1603 // par(0) par(1) par(2) par(4) 1604 //s1=(6.75+.14*dl2*dl2+13./p)/(1.+.14/p4) 1605 // par(9) par(10) par(11) par(12) 1606 //b1=(7.2+4.32/(p4*p4+.012*p3))/(1.+2.5/p 1607 //par(17) par(18) par(19) par(20 1608 // 1609 if(lastPAR[nLast]!=pwd) // A unique flag 1610 { 1611 if ( tgZ == 1 && tgN == 0 ) 1612 { 1613 for (G4int ip=0; ip<n_npel; ip++) las 1614 } 1615 else if ( tgZ == 0 && tgN == 1 ) 1616 { 1617 for (G4int ip=0; ip<n_ppel; ip++) las 1618 } 1619 else 1620 { 1621 G4double a=tgZ+tgN; 1622 G4double ala=std::log(a); // for powe 1623 G4double sa=std::sqrt(a); 1624 G4double ssa=std::sqrt(sa); 1625 G4double asa=a*sa; 1626 G4double a2=a*a; 1627 G4double a3=a2*a; 1628 G4double a4=a3*a; 1629 G4double a5=a4*a; 1630 G4double a6=a4*a2; 1631 G4double a7=a6*a; 1632 G4double a8=a7*a; 1633 G4double a9=a8*a; 1634 G4double a10=a5*a5; 1635 G4double a12=a6*a6; 1636 G4double a14=a7*a7; 1637 G4double a16=a8*a8; 1638 G4double a17=a16*a; 1639 G4double a32=a16*a16; 1640 // Reaction cross-section parameters 1641 lastPAR[ 0]=5./(1.+22./asa); 1642 lastPAR[ 1]=4.8*std::exp(ala*1.14)/(1 1643 lastPAR[ 2]=1./(1.+.004*a4)+2.E-6*a3/ 1644 lastPAR[ 3]=.07*asa/(1.+.009*a2); 1645 lastPAR[ 5]=1.7*a; 1646 lastPAR[ 6]=5.5E-6*std::exp(ala*1.3); 1647 lastPAR[13]=0.; 1648 lastPAR[14]=0.; 1649 G4int nn=NIso[tgZ]; 1650 G4bool nfound=true; 1651 if(nn) for (G4int in=0; in<nn; in++) 1652 { 1653 std::pair<G4int, const G4double*> c 1654 G4int cn=curIs.first; 1655 if(cn == tgN) 1656 { 1657 const G4double* curT=curIs.second 1658 lastPAR[ 4]=curT[0]; 1659 lastPAR[ 7]=curT[1]; 1660 lastPAR[ 8]=curT[2]; 1661 lastPAR[ 9]=curT[3]; 1662 lastPAR[10]=curT[4]; 1663 lastPAR[11]=curT[5]; 1664 lastPAR[12]=curT[6]; 1665 nfound = false; 1666 break; 1667 } 1668 } 1669 if(nfound) 1670 { 1671 //AR-24Apr2018 Switch to allow tran 1672 const G4bool isHeavyElementAllowed 1673 if ( ! isHeavyElementAllowed ) { 1674 G4cout<<"-Warning-G4ChipsNeutronE 1675 <<" isotope is not implemen 1676 } 1677 // Put default values: 1678 lastPAR[ 4]=5.2E-7; 1679 lastPAR[ 7]=22.; 1680 lastPAR[ 8]=.00026; 1681 lastPAR[ 9]=1.3E-9; 1682 lastPAR[10]=2.7; 1683 lastPAR[11]=4.E-5; 1684 lastPAR[12]=.005; 1685 } 1686 // @@ the differential cross-section 1687 if(a<6.5) 1688 { 1689 G4double a28=a16*a12; 1690 // The main pre-exponent (pel_ 1691 lastPAR[15]=4000*a; 1692 lastPAR[16]=1.2e7*a8+380*a17; 1693 lastPAR[17]=.7/(1.+4.e-12*a16); 1694 lastPAR[18]=2.5/a8/(a4+1.e-16*a32); 1695 lastPAR[19]=.28*a; 1696 lastPAR[20]=1.2*a2+2.3; 1697 lastPAR[21]=3.8/a; 1698 // The main slope (pel_ 1699 lastPAR[22]=.01/(1.+.0024*a5); 1700 lastPAR[23]=.2*a; 1701 lastPAR[24]=9.e-7/(1.+.035*a5); 1702 lastPAR[25]=(42.+2.7e-11*a16)/(1.+. 1703 // The main quadratic (pel_ 1704 lastPAR[26]=2.25*a3; 1705 lastPAR[27]=18.; 1706 lastPAR[28]=.0024*a8/(1.+2.6e-4*a7) 1707 lastPAR[29]=3.5e-36*a32*a8/(1.+5.e- 1708 lastPAR[30]=1.e5/(a8+2.5e12/a16); 1709 lastPAR[31]=8.e7/(a12+1.e-27*a28*a2 1710 lastPAR[32]=.0006*a3; 1711 // The 1st max slope (pel_ 1712 lastPAR[33]=10.+4.e-8*a12*a; 1713 lastPAR[34]=.114; 1714 lastPAR[35]=.003; 1715 lastPAR[36]=2.e-23; 1716 // The effective pre-exponent (pel_ 1717 lastPAR[37]=1./(1.+.0001*a8); 1718 lastPAR[38]=1.5e-4/(1.+5.e-6*a12); 1719 lastPAR[39]=.03; 1720 // The effective slope (pel_ 1721 lastPAR[40]=a/2; 1722 lastPAR[41]=2.e-7*a4; 1723 lastPAR[42]=4.; 1724 lastPAR[43]=64./a3; 1725 // The gloria pre-exponent (pel_ 1726 lastPAR[44]=1.e8*std::exp(.32*asa); 1727 lastPAR[45]=20.*std::exp(.45*asa); 1728 lastPAR[46]=7.e3+2.4e6/a5; 1729 lastPAR[47]=2.5e5*std::exp(.085*a3) 1730 lastPAR[48]=2.5*a; 1731 // The gloria slope (pel_ 1732 lastPAR[49]=920.+.03*a8*a3; 1733 lastPAR[50]=93.+.0023*a12; 1734 } 1735 else 1736 { 1737 G4double p1a10=2.2e-28*a10; 1738 G4double r4a16=6.e14/a16; 1739 G4double s4a16=r4a16*r4a16; 1740 // a24 1741 // a36 1742 // The main pre-exponent (peh_ 1743 lastPAR[15]=4.5*std::pow(a,1.15); 1744 lastPAR[16]=.06*std::pow(a,.6); 1745 lastPAR[17]=.6*a/(1.+2.e15/a16); 1746 lastPAR[18]=.17/(a+9.e5/a3+1.5e33/a 1747 lastPAR[19]=(.001+7.e-11*a5)/(1.+4. 1748 lastPAR[20]=(p1a10*p1a10+2.e-29)/(1 1749 // The main slope (peh_ 1750 lastPAR[21]=400./a12+2.e-22*a9; 1751 lastPAR[22]=1.e-32*a12/(1.+5.e22/a1 1752 lastPAR[23]=1000./a2+9.5*sa*ssa; 1753 lastPAR[24]=4.e-6*a*asa+1.e11/a16; 1754 lastPAR[25]=(120./a+.002*a2)/(1.+2. 1755 lastPAR[26]=9.+100./a; 1756 // The main quadratic (peh_ 1757 lastPAR[27]=.002*a3+3.e7/a6; 1758 lastPAR[28]=7.e-15*a4*asa; 1759 lastPAR[29]=9000./a4; 1760 // The 1st max pre-exponent (peh_ 1761 lastPAR[30]=.0011*asa/(1.+3.e34/a32 1762 lastPAR[31]=1.e-5*a2+2.e14/a16; 1763 lastPAR[32]=1.2e-11*a2/(1.+1.5e19/a 1764 lastPAR[33]=.016*asa/(1.+5.e16/a16) 1765 // The 1st max slope (peh_ 1766 lastPAR[34]=.002*a4/(1.+7.e7/std::p 1767 lastPAR[35]=2.e6/a6+7.2/std::pow(a, 1768 lastPAR[36]=11.*a3/(1.+7.e23/a16/a8 1769 lastPAR[37]=100./asa; 1770 // The 2nd max pre-exponent (peh_ 1771 lastPAR[38]=(.1+4.4e-5*a2)/(1.+5.e5 1772 lastPAR[39]=3.5e-4*a2/(1.+1.e8/a8); 1773 lastPAR[40]=1.3+3.e5/a4; 1774 lastPAR[41]=500./(a2+50.)+3; 1775 lastPAR[42]=1.e-9/a+s4a16*s4a16; 1776 // The 2nd max slope (peh_ 1777 lastPAR[43]=.4*asa+3.e-9*a6; 1778 lastPAR[44]=.0005*a5; 1779 lastPAR[45]=.002*a5; 1780 lastPAR[46]=10.; 1781 // The effective pre-exponent (peh_ 1782 lastPAR[47]=.05+.005*a; 1783 lastPAR[48]=7.e-8/sa; 1784 lastPAR[49]=.8*sa; 1785 lastPAR[50]=.02*sa; 1786 lastPAR[51]=1.e8/a3; 1787 lastPAR[52]=3.e32/(a32+1.e32); 1788 // The effective slope (peh_ 1789 lastPAR[53]=24.; 1790 lastPAR[54]=20./sa; 1791 lastPAR[55]=7.e3*a/(sa+1.); 1792 lastPAR[56]=900.*sa/(1.+500./a3); 1793 } 1794 // Parameter for lowEnergyNeutrons 1795 lastPAR[57]=1.e15+2.e27/a4/(1.+2.e-18 1796 } 1797 lastPAR[nLast]=pwd; 1798 // and initialize the zero element of t 1799 G4double lp=lPMin; 1800 G4bool memCS=onlyCS; 1801 onlyCS=false; 1802 lastCST[0]=GetTabValues(lp, PDG, tgZ, t 1803 onlyCS=memCS; 1804 lastSST[0]=theSS; 1805 lastS1T[0]=theS1; 1806 lastB1T[0]=theB1; 1807 lastS2T[0]=theS2; 1808 lastB2T[0]=theB2; 1809 lastS3T[0]=theS3; 1810 lastB3T[0]=theB3; 1811 lastS4T[0]=theS4; 1812 lastB4T[0]=theB4; 1813 } 1814 if(LP>ILP) 1815 { 1816 G4int ini = static_cast<int>((ILP-lPMin 1817 if(ini<0) ini=0; 1818 if(ini<nPoints) 1819 { 1820 G4int fin = static_cast<int>((LP-lPMi 1821 if(fin>=nPoints) fin=nLast; 1822 if(fin>=ini) 1823 { 1824 G4double lp=0.; 1825 for(G4int ip=ini; ip<=fin; ip++) 1826 { 1827 lp=lPMin+ip*dlnP; 1828 G4bool memCS=onlyCS; 1829 onlyCS=false; 1830 lastCST[ip]=GetTabValues(lp, PDG, 1831 onlyCS=memCS; 1832 lastSST[ip]=theSS; 1833 lastS1T[ip]=theS1; 1834 lastB1T[ip]=theB1; 1835 lastS2T[ip]=theS2; 1836 lastB2T[ip]=theB2; 1837 lastS3T[ip]=theS3; 1838 lastB3T[ip]=theB3; 1839 lastS4T[ip]=theS4; 1840 lastB4T[ip]=theB4; 1841 } 1842 return lp; 1843 } 1844 else G4cout<<"*Warning*G4ChipsNeutron 1845 <<", Z="<<tgZ<<", N="<<tgN 1846 <<" > ILP="<<ILP<<" nothin 1847 } 1848 else G4cout<<"*Warning*G4ChipsNeutronEl 1849 <<tgZ<<", N="<<tgN<<", i="<< 1850 <<" > ILP="<<ILP<<", lPMax=" 1851 } 1852 } 1853 else 1854 { 1855 // G4cout<<"*Error*G4ChipsNeutronElasticX 1856 // <<", N="<<tgN<<", while it is de 1857 // throw G4QException("G4ChipsNeutronElas 1858 G4ExceptionDescription ed; 1859 ed << "PDG = " << PDG << ", Z = " << tgZ 1860 << ", while it is defined only for PDG 1861 G4Exception("G4ChipsNeutronElasticXS::Get 1862 FatalException, ed); 1863 } 1864 return ILP; 1865 } 1866 1867 // Returns Q2=-t in independent units (MeV^2) 1868 G4double G4ChipsNeutronElasticXS::GetExchange 1869 { 1870 static const G4double GeVSQ=gigaelectronvol 1871 static const G4double third=1./3.; 1872 static const G4double fifth=1./5.; 1873 static const G4double sevth=1./7.; 1874 if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeut 1875 if(onlyCS) G4cout<<"*Warning*G4ChipsNeutron 1876 if(lastLP<-4.3) return lastTM*GeVSQ*G4Unifo 1877 G4double q2=0.; 1878 if(tgZ==1 && tgN==0) // ===> 1879 { 1880 G4double E1=lastTM*theB1; 1881 G4double R1=(1.-std::exp(-E1)); 1882 G4double E2=lastTM*theB2; 1883 G4double R2=(1.-std::exp(-E2)); 1884 G4double I1=R1*theS1; 1885 G4double I2=R2*theS2/theB2; 1886 //G4double I3=R3*theS3/theB3; 1887 G4double I12=I1+I2; 1888 //G4double rand=(I12+I3)*G4UniformRand(); 1889 G4double rand=I12*G4UniformRand(); 1890 if (rand<I1 ) 1891 { 1892 G4double ran=R1*G4UniformRand(); 1893 if(ran>1.) ran=1.; 1894 q2=-std::log(1.-ran)/theB1; // t- 1895 } 1896 else 1897 { 1898 G4double ran=R2*G4UniformRand(); 1899 if(ran>1.) ran=1.; 1900 q2=lastTM+std::log(1.-ran)/theB2; // u- 1901 } 1902 } 1903 else 1904 { 1905 G4double a=tgZ+tgN; 1906 G4double E1=lastTM*(theB1+lastTM*theSS); 1907 G4double R1=(1.-std::exp(-E1)); 1908 G4double tss=theSS+theSS; // for future s 1909 G4double tm2=lastTM*lastTM; 1910 G4double E2=lastTM*tm2*theB2; 1911 if(a>6.5)E2*=tm2; 1912 G4double R2=(1.-std::exp(-E2)); 1913 G4double E3=lastTM*theB3; 1914 if(a>6.5)E3*=tm2*tm2*tm2; 1915 G4double R3=(1.-std::exp(-E3)); 1916 G4double E4=lastTM*theB4; 1917 G4double R4=(1.-std::exp(-E4)); 1918 G4double I1=R1*theS1; 1919 G4double I2=R2*theS2; 1920 G4double I3=R3*theS3; 1921 G4double I4=R4*theS4; 1922 G4double I12=I1+I2; 1923 G4double I13=I12+I3; 1924 G4double rand=(I13+I4)*G4UniformRand(); 1925 if(rand<I1) 1926 { 1927 G4double ran=R1*G4UniformRand(); 1928 if(ran>1.) ran=1.; 1929 q2=-std::log(1.-ran)/theB1; 1930 if(std::fabs(tss)>1.e-7) q2=(std::sqrt( 1931 } 1932 else if(rand<I12) 1933 { 1934 G4double ran=R2*G4UniformRand(); 1935 if(ran>1.) ran=1.; 1936 q2=-std::log(1.-ran)/theB2; 1937 if(q2<0.) q2=0.; 1938 if(a<6.5) q2=std::pow(q2,third); 1939 else q2=std::pow(q2,fifth); 1940 } 1941 else if(rand<I13) 1942 { 1943 G4double ran=R3*G4UniformRand(); 1944 if(ran>1.) ran=1.; 1945 q2=-std::log(1.-ran)/theB3; 1946 if(q2<0.) q2=0.; 1947 if(a>6.5) q2=std::pow(q2,sevth); 1948 } 1949 else 1950 { 1951 G4double ran=R4*G4UniformRand(); 1952 if(ran>1.) ran=1.; 1953 q2=-std::log(1.-ran)/theB4; 1954 if(a<6.5) q2=lastTM-q2; 1955 } 1956 } 1957 if(q2<0.) q2=0.; 1958 if(!(q2>=-1.||q2<=1.)) G4cout<<"*NAN*G4QNeu 1959 if(q2>lastTM) 1960 { 1961 q2=lastTM; 1962 } 1963 return q2*GeVSQ; 1964 } 1965 1966 // Returns B in independent units (MeV^-2) (a 1967 G4double G4ChipsNeutronElasticXS::GetSlope(G4 1968 { 1969 static const G4double GeVSQ=gigaelectronvol 1970 1971 if(onlyCS) G4cout<<"Warning*G4ChipsNeutronE 1972 if(lastLP<-4.3) return 0.; // S-wa 1973 if(PDG!=2112) 1974 { 1975 // G4cout<<"*Error*G4ChipsNeutronElasticX 1976 // <<", N="<<tgN<<", while it is de 1977 // throw G4QException("G4ChipsNeutronElas 1978 G4ExceptionDescription ed; 1979 ed << "PDG = " << PDG << ", Z = " << tgZ 1980 <<", while it is defined only for PDG= 1981 G4Exception("G4ChipsNeutronElasticXS::Get 1982 FatalException, ed); 1983 } 1984 if(theB1<0.) theB1=0.; 1985 if(!(theB1>=-1.||theB1<=1.))G4cout<<"*NAN*G 1986 return theB1/GeVSQ; 1987 } 1988 1989 // Returns half max(Q2=-t) in independent uni 1990 G4double G4ChipsNeutronElasticXS::GetHMaxT() 1991 { 1992 static const G4double HGeVSQ=gigaelectronvo 1993 return lastTM*HGeVSQ; 1994 } 1995 1996 // lastLP is used, so calculating tables, one 1997 G4double G4ChipsNeutronElasticXS::GetTabValue 1998 1999 { 2000 if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeut 2001 2002 //AR-24Apr2018 Switch to allow transuranic 2003 const G4bool isHeavyElementAllowed = true; 2004 if(tgZ<0 || ( !isHeavyElementAllowed && tgZ 2005 { 2006 G4cout<<"*Warning*G4QNElasticCrS::GetTabV 2007 return 0.; 2008 } 2009 G4int iZ=tgZ-1; // Z index 2010 if(iZ<0) 2011 { 2012 iZ=0; // conversion of the neutro 2013 tgZ=1; 2014 tgN=0; 2015 } 2016 G4double p=std::exp(lp); // mo 2017 G4double sp=std::sqrt(p); // sq 2018 G4double p2=p*p; 2019 G4double p3=p2*p; 2020 G4double p4=p3*p; 2021 if ( tgZ == 1 && tgN == 0 ) // np 2022 { 2023 G4double ssp=std::sqrt(sp); // 2024 G4double p2s=p2*sp; 2025 G4double dl1=lp-lastPAR[3]; 2026 theSS=lastPAR[27]; 2027 theS1=(lastPAR[9]+lastPAR[10]*dl1*dl1+las 2028 +lastPAR[13]/(p4+lastPAR[14]); 2029 theB1=(lastPAR[17]+lastPAR[18]/(p4*p4+las 2030 theS2=(lastPAR[15]+lastPAR[16]/p4/p)/p3; 2031 theB2=lastPAR[22]/(p*sp+lastPAR[23]); 2032 theS3=0.; 2033 theB3=0.; 2034 theS4=0.; 2035 theB4=0.; 2036 // Returns the total elastic pp cross-sec 2037 return lastPAR[0]/(p2s+lastPAR[1]*p+lastP 2038 +(lastPAR[5]+lastPAR[6]*dl1*dl1+la 2039 2040 } 2041 else 2042 { 2043 G4double p5=p4*p; 2044 G4double p6=p5*p; 2045 G4double p8=p6*p2; 2046 G4double p10=p8*p2; 2047 G4double p12=p10*p2; 2048 G4double p16=p8*p8; 2049 G4double dl=lp-5.; 2050 G4double a=tgZ+tgN; 2051 if(a<6.5) 2052 { 2053 G4double pah=std::pow(p,a/2); 2054 G4double pa=pah*pah; 2055 G4double pa2=pa*pa; 2056 2057 theS1=lastPAR[15]/(1.+lastPAR[16]*p4*pa 2058 (lastPAR[19]*dl*dl+lastPAR[20])/( 2059 theB1=(lastPAR[22]+lastPAR[23]*p2)/(p4+ 2060 theSS=lastPAR[26]/(1.+lastPAR[27]/p2)+l 2061 theS2=lastPAR[30]/(pa/p2+lastPAR[31]/p4 2062 theB2=lastPAR[33]*std::pow(p,lastPAR[34 2063 theS3=lastPAR[37]/(pa*p+lastPAR[38]/pa) 2064 theB3=lastPAR[40]/(p3+lastPAR[41]/p6)+l 2065 theS4=p2*(pah*lastPAR[44]*std::exp(-pah 2066 lastPAR[46]/(1.+lastPAR[47]*s 2067 theB4=lastPAR[49]*pa/p2/(1.+pa*lastPAR[ 2068 } 2069 else 2070 { 2071 theS1=lastPAR[15]/(1.+lastPAR[16]/p4)+l 2072 lastPAR[19]/(p5+lastPAR[20]/p16); 2073 theB1=(lastPAR[21]/p8+lastPAR[25])/(p+l 2074 lastPAR[23]/(1.+lastPAR[24]/p4); 2075 theSS=lastPAR[27]/(p4/std::pow(p,lastPA 2076 theS2=lastPAR[30]/p4/(std::pow(p,lastPA 2077 theB2=lastPAR[34]/std::pow(p,lastPAR[35 2078 theS3=lastPAR[38]/std::pow(p,lastPAR[41 2079 lastPAR[39]/(1.+lastPAR[40]/p6); 2080 theB3=lastPAR[43]/p8+lastPAR[44]/p2+las 2081 theS4=(lastPAR[47]/p4+lastPAR[52]/p)/(1 2082 (lastPAR[49]+lastPAR[50]*dl*dl)/( 2083 theB4=lastPAR[53]/(1.+lastPAR[54]/p)+la 2084 } 2085 // Returns the total elastic (n/p)A cross 2086 // p1(p6) p2(p7) 2087 return (lastPAR[0]*dl*dl+lastPAR[1])/(1.+ 2088 (p3+lastPAR[6]/p3)+lastPAR[7]/(p2+last 2089 lastPAR[10]/(p5+lastPAR[11]/p2)+la 2090 // p10 p11 2091 } 2092 return 0.; 2093 } // End of GetTableValues 2094 2095 // Returns max -t=Q2 (GeV^2) for the momentum 2096 G4double G4ChipsNeutronElasticXS::GetQ2max(G4 2097 2098 { 2099 2100 G4double pP2=pP*pP; 2101 if(tgZ==0 && tgN==1) 2102 { 2103 G4double tMid=std::sqrt(pP2+mNeut2)*mNeut 2104 return tMid+tMid; 2105 } 2106 else if(tgZ || tgN) // -- 2107 { 2108 G4double mt=mProt; 2109 if(tgN||tgZ>1) mt=G4ParticleTable::GetPar 2110 G4double dmt=mt+mt; 2111 G4double mds=dmt*std::sqrt(pP2+mNeut2)+mN 2112 return dmt*dmt*pP2/mds; 2113 } 2114 else 2115 { 2116 // G4cout<<"*Error*G4ChipsNeutronElasticX 2117 // <<tgN<<", while it is defined on 2118 // throw G4QException("G4ChipsNeutronElas 2119 G4ExceptionDescription ed; 2120 ed << "PDG = " << PDG << ", Z = " << tgZ 2121 <<", while it is defined only for n pr 2122 G4Exception("G4ChipsNeutronElasticXS::Get 2123 FatalException, ed); 2124 return 0; 2125 } 2126 } 2127