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 // The lust update: M.V. Kossov, CERN/ITEP(Mos 28 // 29 // 30 // G4 Physics class: G4ChipsNeutronInelasticXS 31 // Created: M.V. Kossov, CERN/ITEP(Moscow), 17 32 // The last update: M.V. Kossov, CERN/ITEP (Mo 33 // 34 // ******************************************* 35 // Short description: Cross-sections extracted 36 // neutron-nuclear interactions. Original aut 37 // ------------------------------------------- 38 // 39 40 #include "G4ChipsNeutronInelasticXS.hh" 41 #include "G4SystemOfUnits.hh" 42 #include "G4DynamicParticle.hh" 43 #include "G4ParticleDefinition.hh" 44 #include "G4Neutron.hh" 45 #include "G4Log.hh" 46 #include "G4Exp.hh" 47 48 49 // factory 50 #include "G4CrossSectionFactory.hh" 51 // 52 G4_DECLARE_XS_FACTORY(G4ChipsNeutronInelasticX 53 54 // Initialization of the 55 56 G4ChipsNeutronInelasticXS::G4ChipsNeutronInela 57 { 58 lastLEN=0; // Pointer to the lastArray of Lo 59 lastHEN=0; // Pointer to the lastArray of Hi 60 lastN=0; // The last N of calculated nucle 61 lastZ=0; // The last Z of calculated nucle 62 lastP=0.; // Last used in cross section Mom 63 lastTH=0.; // Last threshold momentum 64 lastCS=0.; // Last value of the Cross Sectio 65 lastI=0; // The last position in the DAMDB 66 HEthresh=0.;// HE threshold for the CS calcu 67 LEN = new std::vector<G4double*>; 68 HEN = new std::vector<G4double*>; 69 } 70 71 G4ChipsNeutronInelasticXS::~G4ChipsNeutronInel 72 { 73 std::size_t lens=LEN->size(); 74 for(std::size_t i=0; i<lens; ++i) delete[] ( 75 delete LEN; 76 std::size_t hens=HEN->size(); 77 for(std::size_t i=0; i<hens; ++i) delete[] ( 78 delete HEN; 79 } 80 81 void 82 G4ChipsNeutronInelasticXS::CrossSectionDescrip 83 { 84 outFile << "G4ChipsNeutronInelasticXS prov 85 << "section for neutron nucleus sc 86 << "momentum. The cross section is 87 << "CHIPS parameterization of cros 88 } 89 90 G4bool G4ChipsNeutronInelasticXS::IsIsoApplica 91 const G4Element*, 92 const G4Material*) 93 { 94 return true; 95 } 96 97 98 G4double G4ChipsNeutronInelasticXS::GetIsoCros 99 const G4Isotope*, 100 const G4Element*, 101 const G4Material*) 102 { 103 G4double pMom=Pt->GetTotalMomentum(); 104 G4int tgN = A - tgZ; 105 106 return GetChipsCrossSection(pMom, tgZ, tgN, 107 } 108 109 // The main member function giving the collisi 110 // Make pMom in independent units ! (Now it is 111 G4double G4ChipsNeutronInelasticXS::GetChipsCr 112 { 113 114 G4bool in=false; // By d 115 if(tgN!=lastN || tgZ!=lastZ) // The 116 { 117 in = false; // By d 118 lastP = 0.; // New 119 lastN = tgN; // The 120 lastZ = tgZ; // The 121 lastI = (G4int)colN.size(); // Size 122 j = 0; // A#0f 123 if(lastI) for(G4int i=0; i<lastI; ++i) // 124 { 125 if(colN[i]==tgN && colZ[i]==tgZ) // Try 126 { 127 lastI=i; // Reme 128 lastTH =colTH[i]; // The 129 if(pMom<=lastTH) 130 { 131 return 0.; // Ener 132 } 133 lastP =colP [i]; // Last 134 lastCS =colCS[i]; // Last 135 in = true; // This 136 // Momentum pMom is in IU ! @@ Units 137 lastCS=CalculateCrossSection(-1,j,2112 138 if(lastCS<=0. && pMom>lastTH) // Corr 139 { 140 lastCS=0.; 141 lastTH=pMom; 142 } 143 break; // Go o 144 } 145 j++; // Incr 146 } 147 if(!in) // This 148 { 149 //!!The slave functions must provide cro 150 lastCS=CalculateCrossSection(0,j,2112,la 151 //if(lastCS>0.) // It 152 //{ 153 154 lastTH = 0; //ThresholdEnergy(tgZ, tgN); 155 colN.push_back(tgN); 156 colZ.push_back(tgZ); 157 colP.push_back(pMom); 158 colTH.push_back(lastTH); 159 colCS.push_back(lastCS); 160 //} // M.K. Presence of H1 with high thresho 161 return lastCS*millibarn; 162 } // End of creation of the new set of par 163 else 164 { 165 colP[lastI]=pMom; 166 colCS[lastI]=lastCS; 167 } 168 } // End of parameters udate 169 else if(pMom<=lastTH) 170 { 171 return 0.; // Mome 172 } 173 else // It i 174 { 175 lastCS=CalculateCrossSection(1,j,2112,last 176 lastP=pMom; 177 } 178 return lastCS*millibarn; 179 } 180 181 // The main member function giving the gamma-A 182 G4double G4ChipsNeutronInelasticXS::CalculateC 183 G4int, 184 { 185 static const G4double THmin=1.; // defa 186 static const G4double THmiG=THmin*.001; // m 187 static const G4double dP=10.; // step 188 static const G4double dPG=dP*.001; // step 189 static const G4int nL=105; // A#of 190 static const G4double Pmin=THmin+(nL-1)*dP; 191 static const G4double Pmax=227000.; // maxP 192 static const G4int nH=224; // A#of 193 static const G4double milP=G4Log(Pmin);// Lo 194 static const G4double malP=G4Log(Pmax);// Hi 195 static const G4double dlP=(malP-milP)/(nH-1) 196 static const G4double milPG=G4Log(.001*Pmin) 197 // 198 if(F<=0) // This 199 { 200 if(F<0) // This 201 { 202 G4int sync=(G4int)LEN->size(); 203 if(sync<=I) G4cerr<<"*!*G4ChipsNetronNuc 204 lastLEN=(*LEN)[I]; // Poin 205 lastHEN=(*HEN)[I]; // Poin 206 } 207 else // This 208 { 209 lastLEN = new G4double[nL]; // Allo 210 lastHEN = new G4double[nH]; // Allo 211 // --- Instead of making a separate func 212 G4double P=THmiG; // Tabl 213 for(G4int k=0; k<nL; k++) 214 { 215 lastLEN[k] = CrossSectionLin(targZ, ta 216 P+=dPG; 217 } 218 G4double lP=milPG; 219 for(G4int n=0; n<nH; n++) 220 { 221 lastHEN[n] = CrossSectionLog(targZ, ta 222 lP+=dlP; 223 } 224 // --- End of possible separate function 225 // *** The synchronization check *** 226 G4int sync=(G4int)LEN->size(); 227 if(sync!=I) 228 { 229 G4cerr<<"***G4ChipsNetronNuclearCS::Ca 230 <<", N="<<targN<<", F="<<F<<G4en 231 //G4Exception("G4ProtonNuclearCS::Calc 232 } 233 LEN->push_back(lastLEN); // rem 234 HEN->push_back(lastHEN); // rem 235 } // End of creation of the new set of par 236 } // End of parameters udate 237 // =------------------= NOW the Magic Formul 238 G4double sigma; 239 if (Momentum<lastTH) return 0.; // It m 240 else if (Momentum<Pmin) // High 241 { 242 sigma=EquLinearFit(Momentum,nL,THmin,dP,la 243 } 244 else if (Momentum<Pmax) // High 245 { 246 G4double lP=G4Log(Momentum); 247 sigma=EquLinearFit(lP,nH,milP,dlP,lastHEN) 248 } 249 else // UHE 250 { 251 G4double P=0.001*Momentum; // Appr 252 sigma=CrossSectionFormula(targZ, targN, P, 253 } 254 if(sigma<0.) return 0.; 255 return sigma; 256 } 257 258 // Calculation formula for proton-nuclear inel 259 G4double G4ChipsNeutronInelasticXS::CrossSecti 260 { 261 //==> n (Z=0) 262 static const G4int N0=1; 263 static const G4double pZ0N1[4]={1., 0., 0., 264 static const std::pair<G4int, const G4double 265 static const std::pair<G4int, const G4double 266 //==> H (Z=1) *** no protons, which are trea 267 static const G4int N1=2; 268 static const G4double pZ1N1[4]={6.E-8, 0., 0 269 static const std::pair<G4int, const G4double 270 static const G4double pZ1N2[4]={9.E-8, 0., 0 271 static const std::pair<G4int, const G4double 272 static const std::pair<G4int, const G4double 273 //==> He(Z=2) 274 static const G4int N2=2; 275 static const G4double pZ2N1[4]={1.E-13, 9000 276 static const std::pair<G4int, const G4double 277 static const G4double pZ2N2[4]={7.E-4, 0., 0 278 static const std::pair<G4int, const G4double 279 static const std::pair<G4int, const G4double 280 //==> Li(Z=3) 281 static const G4int N3=2; 282 static const G4double pZ3N3[4]={1.E-9, 3200. 283 static const std::pair<G4int, const G4double 284 static const G4double pZ3N4[4]={3.E-9, 200., 285 static const std::pair<G4int, const G4double 286 static const std::pair<G4int, const G4double 287 //==> Be(Z=4) 288 static const G4int N4=1; 289 static const G4double pZ4N5[4]={9.E-9, 400., 290 static const std::pair<G4int, const G4double 291 static const std::pair<G4int, const G4double 292 //==> B (Z=5) 293 static const G4int N5=2; 294 static const G4double pZ5N5[4]={2.E-10, 2700 295 static const std::pair<G4int, const G4double 296 static const G4double pZ5N6[4]={2.E-8, 110., 297 static const std::pair<G4int, const G4double 298 static const std::pair<G4int, const G4double 299 //==> C (Z=6) 300 static const G4int N6=2; 301 static const G4double pZ6N6[4]={1.5E-7, 300. 302 static const std::pair<G4int, const G4double 303 static const G4double pZ6N7[4]={1.5E-7, 300. 304 static const std::pair<G4int, const G4double 305 static const std::pair<G4int, const G4double 306 //==> N (Z=7) 307 static const G4int N7=2; 308 static const G4double pZ7N7[4]={5.E-8, 500., 309 static const std::pair<G4int, const G4double 310 static const G4double pZ7N8[4]={5.E-8, 140., 311 static const std::pair<G4int, const G4double 312 static const std::pair<G4int, const G4double 313 //==> O (Z=8) 314 static const G4int N8=3; 315 static const G4double pZ8N8[4]={7.E-8, 0., . 316 static const std::pair<G4int, const G4double 317 static const G4double pZ8N9[4]={2.E-8, 170., 318 static const std::pair<G4int, const G4double 319 static const G4double pZ8N10[4]={1.E-9, 0., 320 static const std::pair<G4int, const G4double 321 static const std::pair<G4int, const G4double 322 //==> F (Z=9) 323 static const G4int N9=1; 324 static const G4double pZ9N10[4]={1.E-11, 300 325 static const std::pair<G4int, const G4double 326 static const std::pair<G4int, const G4double 327 //==> Ne(Z=10) 328 static const G4int N10=3; 329 static const G4double pZ10N10[4]={4.E-8, 0., 330 static const std::pair<G4int, const G4double 331 static const G4double pZ10N11[4]={4.E-8, 0., 332 static const std::pair<G4int, const G4double 333 static const G4double pZ10N12[4]={4.E-8, 0., 334 static const std::pair<G4int, const G4double 335 static const std::pair<G4int, const G4double 336 //==> Na(Z=11) 337 static const G4int N11=1; 338 static const G4double pZ11N12[4]={8.E-10, 50 339 static const std::pair<G4int, const G4double 340 static const std::pair<G4int, const G4double 341 //==> Mg(Z=12) 342 static const G4int N12=3; 343 static const G4double pZ12N12[4]={2.E-9, 350 344 static const std::pair<G4int, const G4double 345 static const G4double pZ12N13[4]={2.E-9, 350 346 static const std::pair<G4int, const G4double 347 static const G4double pZ12N14[4]={2.E-9, 0., 348 static const std::pair<G4int, const G4double 349 static const std::pair<G4int, const G4double 350 //==> Al(Z=13) 351 static const G4int N13=1; 352 static const G4double pZ13N14[4]={9.E-9, 500 353 static const std::pair<G4int, const G4double 354 static const std::pair<G4int, const G4double 355 //==> Si(Z=14) 356 static const G4int N14=3; 357 static const G4double pZ14N14[4]={4.E-9, 200 358 static const std::pair<G4int, const G4double 359 static const G4double pZ14N15[4]={6.E-9, 500 360 static const std::pair<G4int, const G4double 361 static const G4double pZ14N16[4]={4.E-9, 200 362 static const std::pair<G4int, const G4double 363 static const std::pair<G4int, const G4double 364 //==> P (Z=15) 365 static const G4int N15=1; 366 static const G4double pZ15N16[4]={6.E-9, 550 367 static const std::pair<G4int, const G4double 368 static const std::pair<G4int, const G4double 369 //==> S (Z=16) 370 static const G4int N16=4; 371 static const G4double pZ16N16[4]={1.5E-8, 50 372 static const std::pair<G4int, const G4double 373 static const G4double pZ16N17[4]={1.E-8, 300 374 static const std::pair<G4int, const G4double 375 static const G4double pZ16N18[4]={2.E-8, 300 376 static const std::pair<G4int, const G4double 377 static const G4double pZ16N20[4]={2.E-8, 200 378 static const std::pair<G4int, const G4double 379 static const std::pair<G4int, const G4double 380 //==> Cl(Z=17) 381 static const G4int N17=2; 382 static const G4double pZ17N18[4]={3.E-9, 300 383 static const std::pair<G4int, const G4double 384 static const G4double pZ17N20[4]={5.E-9, 0., 385 static const std::pair<G4int, const G4double 386 static const std::pair<G4int, const G4double 387 //==> Ar(Z=18) 388 static const G4int N18=3; 389 static const G4double pZ18N18[4]={2.5E-9, 30 390 static const std::pair<G4int, const G4double 391 static const G4double pZ18N20[4]={2.E-8, 400 392 static const std::pair<G4int, const G4double 393 static const G4double pZ18N22[4]={1.E-9, 100 394 static const std::pair<G4int, const G4double 395 static const std::pair<G4int, const G4double 396 //==> K (Z=19) 397 static const G4int N19=3; 398 static const G4double pZ19N20[4]={3.E-9, 4., 399 static const std::pair<G4int, const G4double 400 static const G4double pZ19N21[4]={3.E-9, 500 401 static const std::pair<G4int, const G4double 402 static const G4double pZ19N22[4]={3.E-9, 400 403 static const std::pair<G4int, const G4double 404 static const std::pair<G4int, const G4double 405 //==> Ca(Z=20) 406 static const G4int N20=6; 407 static const G4double pZ20N20[4]={3.E-9, 0., 408 static const std::pair<G4int, const G4double 409 static const G4double pZ20N22[4]={2.E-9, 400 410 static const std::pair<G4int, const G4double 411 static const G4double pZ20N23[4]={.3E-9, 280 412 static const std::pair<G4int, const G4double 413 static const G4double pZ20N24[4]={1.E-9, 300 414 static const std::pair<G4int, const G4double 415 static const G4double pZ20N26[4]={1.5E-8, 40 416 static const std::pair<G4int, const G4double 417 static const G4double pZ20N28[4]={7.E-9, 0., 418 static const std::pair<G4int, const G4double 419 static const std::pair<G4int, const G4double 420 421 //==> Sc(Z=21) 422 static const G4int N21=1; 423 static const G4double pZ21N24[4]={5.E-9, 100 424 static const std::pair<G4int, const G4double 425 static const std::pair<G4int, const G4double 426 //==> Ti(Z=22) 427 static const G4int N22=5; 428 static const G4double pZ22N24[4]={4.E-9, 900 429 static const std::pair<G4int, const G4double 430 static const G4double pZ22N25[4]={4.E-9, 100 431 static const std::pair<G4int, const G4double 432 static const G4double pZ22N26[4]={4.E-9, 900 433 static const std::pair<G4int, const G4double 434 static const G4double pZ22N27[4]={4.E-9, 800 435 static const std::pair<G4int, const G4double 436 static const G4double pZ22N28[4]={4.E-9, 550 437 static const std::pair<G4int, const G4double 438 static const std::pair<G4int, const G4double 439 440 //==> V (Z=23) 441 static const G4int N23=2; 442 static const G4double pZ23N27[4]={4.E-9, 700 443 static const std::pair<G4int, const G4double 444 static const G4double pZ23N28[4]={4.E-9, 700 445 static const std::pair<G4int, const G4double 446 static const std::pair<G4int, const G4double 447 //==> Cr(Z=24) 448 static const G4int N24=4; 449 static const G4double pZ24N26[4]={1.E-9, 750 450 static const std::pair<G4int, const G4double 451 static const G4double pZ24N28[4]={1.E-9, 350 452 static const std::pair<G4int, const G4double 453 static const G4double pZ24N29[4]={.4E-9, 650 454 static const std::pair<G4int, const G4double 455 static const G4double pZ24N30[4]={1.E-9, 700 456 static const std::pair<G4int, const G4double 457 static const std::pair<G4int, const G4double 458 //==> Mn(Z=25) 459 static const G4int N25=1; 460 static const G4double pZ25N30[4]={.3E-9, 650 461 static const std::pair<G4int, const G4double 462 static const std::pair<G4int, const G4double 463 //==> Fe(Z=26) 464 static const G4int N26=4; 465 static const G4double pZ26N28[4]={.9E-9, 200 466 static const std::pair<G4int, const G4double 467 static const G4double pZ26N30[4]={.9E-9, 150 468 static const std::pair<G4int, const G4double 469 static const G4double pZ26N31[4]={.9E-9, 110 470 static const std::pair<G4int, const G4double 471 static const G4double pZ26N32[4]={.9E-9, 500 472 static const std::pair<G4int, const G4double 473 static const std::pair<G4int, const G4double 474 //==> Co(Z=27) 475 static const G4int N27=1; 476 static const G4double pZ27N32[4]={.2E-9, 21. 477 static const std::pair<G4int, const G4double 478 static const std::pair<G4int, const G4double 479 //==> Ni(Z=28) 480 static const G4int N28=5; 481 static const G4double pZ28N30[4]={.3E-9, 0., 482 static const std::pair<G4int, const G4double 483 static const G4double pZ28N32[4]={.3E-9, 0., 484 static const std::pair<G4int, const G4double 485 static const G4double pZ28N33[4]={.3E-9, 0., 486 static const std::pair<G4int, const G4double 487 static const G4double pZ28N34[4]={.3E-9, 700 488 static const std::pair<G4int, const G4double 489 static const G4double pZ28N36[4]={.3E-9, 75. 490 static const std::pair<G4int, const G4double 491 static const std::pair<G4int, const G4double 492 493 //==> Cu(Z=29) 494 static const G4int N29=2; 495 static const G4double pZ29N34[4]={.1E-9, 35. 496 static const std::pair<G4int, const G4double 497 static const G4double pZ29N36[4]={.2E-9, 23. 498 static const std::pair<G4int, const G4double 499 static const std::pair<G4int, const G4double 500 //==> Zn(Z=30) 501 static const G4int N30=5; 502 static const G4double pZ30N34[4]={.2E-9, 140 503 static const std::pair<G4int, const G4double 504 static const G4double pZ30N36[4]={.2E-9, 140 505 static const std::pair<G4int, const G4double 506 static const G4double pZ30N37[4]={.2E-9, 140 507 static const std::pair<G4int, const G4double 508 static const G4double pZ30N38[4]={.2E-9, 140 509 static const std::pair<G4int, const G4double 510 static const G4double pZ30N40[4]={.2E-9, 140 511 static const std::pair<G4int, const G4double 512 static const std::pair<G4int, const G4double 513 514 //==> Ga(Z=31) 515 static const G4int N31=2; 516 static const G4double pZ31N38[4]={.3E-9, 450 517 static const std::pair<G4int, const G4double 518 static const G4double pZ31N40[4]={.3E-9, 600 519 static const std::pair<G4int, const G4double 520 static const std::pair<G4int, const G4double 521 //==> Ge(Z=32) 522 static const G4int N32=5; 523 static const G4double pZ32N38[4]={.2E-9, 200 524 static const std::pair<G4int, const G4double 525 static const G4double pZ32N40[4]={.2E-9, 600 526 static const std::pair<G4int, const G4double 527 static const G4double pZ32N41[4]={1.5E-11, 6 528 static const std::pair<G4int, const G4double 529 static const G4double pZ32N42[4]={9.E-11, 40 530 static const std::pair<G4int, const G4double 531 static const G4double pZ32N44[4]={9.E-11, 40 532 static const std::pair<G4int, const G4double 533 static const std::pair<G4int, const G4double 534 535 //==> As(Z=33) 536 static const G4int N33=1; 537 static const G4double pZ33N42[4]={1.E-11, 10 538 static const std::pair<G4int, const G4double 539 static const std::pair<G4int, const G4double 540 //==> Se(Z=34) 541 static const G4int N34=6; 542 static const G4double pZ34N40[4]={3.E-12, 50 543 static const std::pair<G4int, const G4double 544 static const G4double pZ34N42[4]={3.E-12, 50 545 static const std::pair<G4int, const G4double 546 static const G4double pZ34N43[4]={3.E-12, 50 547 static const std::pair<G4int, const G4double 548 static const G4double pZ34N44[4]={3.E-12, 50 549 static const std::pair<G4int, const G4double 550 static const G4double pZ34N46[4]={3.E-12, 50 551 static const std::pair<G4int, const G4double 552 static const G4double pZ34N48[4]={3.E-12, 50 553 static const std::pair<G4int, const G4double 554 static const std::pair<G4int, const G4double 555 556 //==> Br(Z=35) 557 static const G4int N35=2; 558 static const G4double pZ35N44[4]={3.E-12, 50 559 static const std::pair<G4int, const G4double 560 static const G4double pZ35N46[4]={3.E-12, 50 561 static const std::pair<G4int, const G4double 562 static const std::pair<G4int, const G4double 563 //==> Kr(Z=36) 564 static const G4int N36=6; 565 static const G4double pZ36N42[4]={3.E-12, 50 566 static const std::pair<G4int, const G4double 567 static const G4double pZ36N44[4]={3.E-12, 50 568 static const std::pair<G4int, const G4double 569 static const G4double pZ36N46[4]={3.E-12, 50 570 static const std::pair<G4int, const G4double 571 static const G4double pZ36N47[4]={3.E-12, 50 572 static const std::pair<G4int, const G4double 573 static const G4double pZ36N48[4]={3.E-12, 50 574 static const std::pair<G4int, const G4double 575 static const G4double pZ36N50[4]={3.E-12, 50 576 static const std::pair<G4int, const G4double 577 static const std::pair<G4int, const G4double 578 579 //==> Rb(Z=37) 580 static const G4int N37=2; 581 static const G4double pZ37N48[4]={3.E-12, 50 582 static const std::pair<G4int, const G4double 583 static const G4double pZ37N50[4]={3.E-12, 50 584 static const std::pair<G4int, const G4double 585 static const std::pair<G4int, const G4double 586 //==> Sr(Z=38) 587 static const G4int N38=4; 588 static const G4double pZ38N46[4]={3.E-12, 50 589 static const std::pair<G4int, const G4double 590 static const G4double pZ38N48[4]={3.E-12, 50 591 static const std::pair<G4int, const G4double 592 static const G4double pZ38N49[4]={3.E-12, 50 593 static const std::pair<G4int, const G4double 594 static const G4double pZ38N50[4]={3.E-12, 50 595 static const std::pair<G4int, const G4double 596 static const std::pair<G4int, const G4double 597 //==> Y (Z=39) 598 static const G4int N39=1; 599 static const G4double pZ39N50[4]={3.E-12, 50 600 static const std::pair<G4int, const G4double 601 static const std::pair<G4int, const G4double 602 //==> Zr(Z=40) 603 static const G4int N40=5; 604 static const G4double pZ40N50[4]={3.E-12, 50 605 static const std::pair<G4int, const G4double 606 static const G4double pZ40N51[4]={3.E-12, 50 607 static const std::pair<G4int, const G4double 608 static const G4double pZ40N52[4]={3.E-12, 50 609 static const std::pair<G4int, const G4double 610 static const G4double pZ40N54[4]={3.E-12, 50 611 static const std::pair<G4int, const G4double 612 static const G4double pZ40N56[4]={3.E-12, 50 613 static const std::pair<G4int, const G4double 614 static const std::pair<G4int, const G4double 615 616 //==> Nb(Z=41) 617 static const G4int N41=1; 618 static const G4double pZ41N52[4]={3.E-12, 50 619 static const std::pair<G4int, const G4double 620 static const std::pair<G4int, const G4double 621 //==> Mo(Z=42) 622 static const G4int N42=7; 623 static const G4double pZ42N50[4]={3.E-12, 50 624 static const std::pair<G4int, const G4double 625 static const G4double pZ42N52[4]={3.E-12, 50 626 static const std::pair<G4int, const G4double 627 static const G4double pZ42N53[4]={3.E-12, 50 628 static const std::pair<G4int, const G4double 629 static const G4double pZ42N54[4]={3.E-12, 50 630 static const std::pair<G4int, const G4double 631 static const G4double pZ42N55[4]={3.E-12, 50 632 static const std::pair<G4int, const G4double 633 static const G4double pZ42N56[4]={3.E-12, 50 634 static const std::pair<G4int, const G4double 635 static const G4double pZ42N58[4]={3.E-12, 50 636 static const std::pair<G4int, const G4double 637 static const std::pair<G4int, const G4double 638 639 //==> Mo(Z=43) 640 static const G4int N43=1; 641 static const G4double pZ43N0[4]={3.E-12, 500 642 static const std::pair<G4int, const G4double 643 static const std::pair<G4int, const G4double 644 //==> Ru(Z=44) 645 static const G4int N44=7; 646 static const G4double pZ44N52[4]={3.E-12, 50 647 static const std::pair<G4int, const G4double 648 static const G4double pZ44N54[4]={3.E-12, 50 649 static const std::pair<G4int, const G4double 650 static const G4double pZ44N55[4]={3.E-12, 50 651 static const std::pair<G4int, const G4double 652 static const G4double pZ44N56[4]={3.E-12, 50 653 static const std::pair<G4int, const G4double 654 static const G4double pZ44N57[4]={3.E-12, 50 655 static const std::pair<G4int, const G4double 656 static const G4double pZ44N58[4]={3.E-12, 50 657 static const std::pair<G4int, const G4double 658 static const G4double pZ44N60[4]={3.E-12, 50 659 static const std::pair<G4int, const G4double 660 static const std::pair<G4int, const G4double 661 662 //==> Rh(Z=45) 663 static const G4int N45=1; 664 static const G4double pZ45N58[4]={3.E-12, 50 665 static const std::pair<G4int, const G4double 666 static const std::pair<G4int, const G4double 667 //==> Pd(Z=46) 668 static const G4int N46=6; 669 static const G4double pZ46N56[4]={3.E-12, 50 670 static const std::pair<G4int, const G4double 671 static const G4double pZ46N58[4]={3.E-12, 50 672 static const std::pair<G4int, const G4double 673 static const G4double pZ46N59[4]={3.E-12, 50 674 static const std::pair<G4int, const G4double 675 static const G4double pZ46N60[4]={3.E-12, 50 676 static const std::pair<G4int, const G4double 677 static const G4double pZ46N62[4]={3.E-12, 50 678 static const std::pair<G4int, const G4double 679 static const G4double pZ46N64[4]={3.E-12, 50 680 static const std::pair<G4int, const G4double 681 static const std::pair<G4int, const G4double 682 683 //==> Ag(Z=47) 684 static const G4int N47=2; 685 static const G4double pZ47N60[4]={3.E-12, 50 686 static const std::pair<G4int, const G4double 687 static const G4double pZ47N62[4]={3.E-12, 48 688 static const std::pair<G4int, const G4double 689 static const std::pair<G4int, const G4double 690 //==> Cd(Z=48) 691 static const G4int N48=8; 692 static const G4double pZ48N58[4]={3.E-12, 50 693 static const std::pair<G4int, const G4double 694 static const G4double pZ48N60[4]={3.E-12, 50 695 static const std::pair<G4int, const G4double 696 static const G4double pZ48N62[4]={3.E-12, 50 697 static const std::pair<G4int, const G4double 698 static const G4double pZ48N63[4]={3.E-12, 50 699 static const std::pair<G4int, const G4double 700 static const G4double pZ48N64[4]={3.E-12, 50 701 static const std::pair<G4int, const G4double 702 static const G4double pZ48N65[4]={3.E-12, 50 703 static const std::pair<G4int, const G4double 704 static const G4double pZ48N66[4]={3.E-12, 50 705 static const std::pair<G4int, const G4double 706 static const G4double pZ48N68[4]={3.E-12, 50 707 static const std::pair<G4int, const G4double 708 static const std::pair<G4int, const G4double 709 710 //==> In(Z=49) 711 static const G4int N49=2; 712 static const G4double pZ49N64[4]={3.E-12, 50 713 static const std::pair<G4int, const G4double 714 static const G4double pZ49N66[4]={3.E-12, 50 715 static const std::pair<G4int, const G4double 716 static const std::pair<G4int, const G4double 717 //==> Sn(Z=50) 718 static const G4int N50=10; 719 static const G4double pZ50N62[4]={3.E-12, 50 720 static const std::pair<G4int, const G4double 721 static const G4double pZ50N64[4]={3.E-12, 50 722 static const std::pair<G4int, const G4double 723 static const G4double pZ50N65[4]={3.E-12, 50 724 static const std::pair<G4int, const G4double 725 static const G4double pZ50N66[4]={3.E-12, 50 726 static const std::pair<G4int, const G4double 727 static const G4double pZ50N67[4]={3.E-12, 50 728 static const std::pair<G4int, const G4double 729 static const G4double pZ50N68[4]={3.E-12, 50 730 static const std::pair<G4int, const G4double 731 static const G4double pZ50N69[4]={3.E-12, 50 732 static const std::pair<G4int, const G4double 733 static const G4double pZ50N70[4]={3.E-12, 50 734 static const std::pair<G4int, const G4double 735 static const G4double pZ50N72[4]={3.E-12, 50 736 static const std::pair<G4int, const G4double 737 static const G4double pZ50N74[4]={3.E-12, 50 738 static const std::pair<G4int, const G4double 739 static const std::pair<G4int, const G4double 740 741 742 //==> Sb(Z=51) 743 static const G4int N51=2; 744 static const G4double pZ51N70[4]={3.E-12, 50 745 static const std::pair<G4int, const G4double 746 static const G4double pZ51N72[4]={3.E-12, 50 747 static const std::pair<G4int, const G4double 748 static const std::pair<G4int, const G4double 749 //==> Te(Z=52) 750 static const G4int N52=8; 751 static const G4double pZ52N68[4]={3.E-12, 50 752 static const std::pair<G4int, const G4double 753 static const G4double pZ52N70[4]={3.E-12, 50 754 static const std::pair<G4int, const G4double 755 static const G4double pZ52N71[4]={3.E-12, 50 756 static const std::pair<G4int, const G4double 757 static const G4double pZ52N72[4]={3.E-12, 50 758 static const std::pair<G4int, const G4double 759 static const G4double pZ52N73[4]={3.E-12, 50 760 static const std::pair<G4int, const G4double 761 static const G4double pZ52N74[4]={3.E-12, 50 762 static const std::pair<G4int, const G4double 763 static const G4double pZ52N76[4]={3.E-12, 50 764 static const std::pair<G4int, const G4double 765 static const G4double pZ52N78[4]={3.E-12, 50 766 static const std::pair<G4int, const G4double 767 static const std::pair<G4int, const G4double 768 769 //==> I (Z=53) 770 static const G4int N53=1; 771 static const G4double pZ53N74[4]={3.E-12, 50 772 static const std::pair<G4int, const G4double 773 static const std::pair<G4int, const G4double 774 //==> Xe(Z=54) 775 static const G4int N54=9; 776 static const G4double pZ54N70[4]={3.E-12, 50 777 static const std::pair<G4int, const G4double 778 static const G4double pZ54N72[4]={3.E-12, 50 779 static const std::pair<G4int, const G4double 780 static const G4double pZ54N74[4]={3.E-12, 50 781 static const std::pair<G4int, const G4double 782 static const G4double pZ54N75[4]={3.E-12, 50 783 static const std::pair<G4int, const G4double 784 static const G4double pZ54N76[4]={3.E-12, 50 785 static const std::pair<G4int, const G4double 786 static const G4double pZ54N77[4]={3.E-12, 50 787 static const std::pair<G4int, const G4double 788 static const G4double pZ54N78[4]={3.E-12, 50 789 static const std::pair<G4int, const G4double 790 static const G4double pZ54N80[4]={3.E-12, 50 791 static const std::pair<G4int, const G4double 792 static const G4double pZ54N82[4]={3.E-12, 50 793 static const std::pair<G4int, const G4double 794 static const std::pair<G4int, const G4double 795 796 797 //==> Cs(Z=55) 798 static const G4int N55=1; 799 static const G4double pZ55N78[4]={3.E-12, 50 800 static const std::pair<G4int, const G4double 801 static const std::pair<G4int, const G4double 802 //==> Ba(Z=56) 803 static const G4int N56=7; 804 static const G4double pZ56N74[4]={3.E-12, 50 805 static const std::pair<G4int, const G4double 806 static const G4double pZ56N76[4]={3.E-12, 50 807 static const std::pair<G4int, const G4double 808 static const G4double pZ56N78[4]={3.E-12, 50 809 static const std::pair<G4int, const G4double 810 static const G4double pZ56N79[4]={3.E-12, 50 811 static const std::pair<G4int, const G4double 812 static const G4double pZ56N80[4]={3.E-12, 50 813 static const std::pair<G4int, const G4double 814 static const G4double pZ56N81[4]={3.E-12, 50 815 static const std::pair<G4int, const G4double 816 static const G4double pZ56N82[4]={3.E-12, 50 817 static const std::pair<G4int, const G4double 818 static const std::pair<G4int, const G4double 819 820 //==> La(Z=57) 821 static const G4int N57=2; 822 static const G4double pZ57N81[4]={3.E-12, 50 823 static const std::pair<G4int, const G4double 824 static const G4double pZ57N82[4]={3.E-12, 50 825 static const std::pair<G4int, const G4double 826 static const std::pair<G4int, const G4double 827 //==> Ce(Z=58) 828 static const G4int N58=4; 829 static const G4double pZ58N78[4]={3.E-12, 50 830 static const std::pair<G4int, const G4double 831 static const G4double pZ58N80[4]={3.E-12, 50 832 static const std::pair<G4int, const G4double 833 static const G4double pZ58N82[4]={3.E-12, 50 834 static const std::pair<G4int, const G4double 835 static const G4double pZ58N84[4]={3.E-12, 50 836 static const std::pair<G4int, const G4double 837 static const std::pair<G4int, const G4double 838 //==> Pr(Z=59) 839 static const G4int N59=1; 840 static const G4double pZ59N82[4]={3.E-12, 50 841 static const std::pair<G4int, const G4double 842 static const std::pair<G4int, const G4double 843 //==> Nd(Z=60) 844 static const G4int N60=7; 845 static const G4double pZ60N82[4]={3.E-12, 50 846 static const std::pair<G4int, const G4double 847 static const G4double pZ60N83[4]={3.E-12, 50 848 static const std::pair<G4int, const G4double 849 static const G4double pZ60N84[4]={3.E-12, 50 850 static const std::pair<G4int, const G4double 851 static const G4double pZ60N85[4]={3.E-12, 50 852 static const std::pair<G4int, const G4double 853 static const G4double pZ60N86[4]={3.E-12, 50 854 static const std::pair<G4int, const G4double 855 static const G4double pZ60N88[4]={3.E-12, 50 856 static const std::pair<G4int, const G4double 857 static const G4double pZ60N90[4]={3.E-12, 50 858 static const std::pair<G4int, const G4double 859 static const std::pair<G4int, const G4double 860 861 //==> Mo(Z=61) 862 static const G4int N61=1; 863 static const G4double pZ61N0[4]={3.E-12, 500 864 static const std::pair<G4int, const G4double 865 static const std::pair<G4int, const G4double 866 //==> Sm(Z=62) 867 static const G4int N62=7; 868 static const G4double pZ62N82[4]={3.E-12, 50 869 static const std::pair<G4int, const G4double 870 static const G4double pZ62N85[4]={3.E-12, 50 871 static const std::pair<G4int, const G4double 872 static const G4double pZ62N86[4]={3.E-12, 50 873 static const std::pair<G4int, const G4double 874 static const G4double pZ62N87[4]={3.E-12, 50 875 static const std::pair<G4int, const G4double 876 static const G4double pZ62N88[4]={3.E-12, 50 877 static const std::pair<G4int, const G4double 878 static const G4double pZ62N90[4]={3.E-12, 50 879 static const std::pair<G4int, const G4double 880 static const G4double pZ62N92[4]={3.E-12, 50 881 static const std::pair<G4int, const G4double 882 static const std::pair<G4int, const G4double 883 884 //==> Eu(Z=63) 885 static const G4int N63=2; 886 static const G4double pZ63N88[4]={3.E-12, 50 887 static const std::pair<G4int, const G4double 888 static const G4double pZ63N90[4]={3.E-12, 50 889 static const std::pair<G4int, const G4double 890 static const std::pair<G4int, const G4double 891 //==> Gd(Z=64) 892 static const G4int N64=7; 893 static const G4double pZ64N88[4]={3.E-12, 50 894 static const std::pair<G4int, const G4double 895 static const G4double pZ64N90[4]={3.E-12, 50 896 static const std::pair<G4int, const G4double 897 static const G4double pZ64N91[4]={3.E-12, 50 898 static const std::pair<G4int, const G4double 899 static const G4double pZ64N92[4]={3.E-12, 50 900 static const std::pair<G4int, const G4double 901 static const G4double pZ64N93[4]={3.E-12, 50 902 static const std::pair<G4int, const G4double 903 static const G4double pZ64N94[4]={3.E-12, 50 904 static const std::pair<G4int, const G4double 905 static const G4double pZ64N96[4]={3.E-12, 50 906 static const std::pair<G4int, const G4double 907 static const std::pair<G4int, const G4double 908 909 //==> Tb(Z=65) 910 static const G4int N65=1; 911 static const G4double pZ65N94[4]={3.E-12, 50 912 static const std::pair<G4int, const G4double 913 static const std::pair<G4int, const G4double 914 //==> Dy(Z=66) 915 static const G4int N66=7; 916 static const G4double pZ66N90[4]={3.E-12, 50 917 static const std::pair<G4int, const G4double 918 static const G4double pZ66N92[4]={3.E-12, 50 919 static const std::pair<G4int, const G4double 920 static const G4double pZ66N94[4]={3.E-12, 50 921 static const std::pair<G4int, const G4double 922 static const G4double pZ66N95[4]={3.E-12, 50 923 static const std::pair<G4int, const G4double 924 static const G4double pZ66N96[4]={3.E-12, 50 925 static const std::pair<G4int, const G4double 926 static const G4double pZ66N97[4]={3.E-12, 50 927 static const std::pair<G4int, const G4double 928 static const G4double pZ66N98[4]={3.E-12, 50 929 static const std::pair<G4int, const G4double 930 static const std::pair<G4int, const G4double 931 932 //==> Ho(Z=67) 933 static const G4int N67=1; 934 static const G4double pZ67N98[4]={3.E-12, 50 935 static const std::pair<G4int, const G4double 936 static const std::pair<G4int, const G4double 937 //==> Er(Z=68) 938 static const G4int N68=6; 939 static const G4double pZ68N94[4]={3.E-12, 50 940 static const std::pair<G4int, const G4double 941 static const G4double pZ68N96[4]={3.E-12, 50 942 static const std::pair<G4int, const G4double 943 static const G4double pZ68N98[4]={3.E-12, 50 944 static const std::pair<G4int, const G4double 945 static const G4double pZ68N99[4]={3.E-12, 50 946 static const std::pair<G4int, const G4double 947 static const G4double pZ68N100[4]={3.E-12, 5 948 static const std::pair<G4int, const G4double 949 static const G4double pZ68N102[4]={3.E-12, 5 950 static const std::pair<G4int, const G4double 951 static const std::pair<G4int, const G4double 952 953 //==> Tm(Z=69) 954 static const G4int N69=1; 955 static const G4double pZ69N100[4]={3.E-12, 5 956 static const std::pair<G4int, const G4double 957 static const std::pair<G4int, const G4double 958 //==> Yb(Z=70) 959 static const G4int N70=7; 960 static const G4double pZ70N98[4]={3.E-12, 50 961 static const std::pair<G4int, const G4double 962 static const G4double pZ70N100[4]={3.E-12, 5 963 static const std::pair<G4int, const G4double 964 static const G4double pZ70N101[4]={3.E-12, 5 965 static const std::pair<G4int, const G4double 966 static const G4double pZ70N102[4]={3.E-12, 5 967 static const std::pair<G4int, const G4double 968 static const G4double pZ70N103[4]={3.E-12, 5 969 static const std::pair<G4int, const G4double 970 static const G4double pZ70N104[4]={3.E-12, 5 971 static const std::pair<G4int, const G4double 972 static const G4double pZ70N106[4]={3.E-12, 5 973 static const std::pair<G4int, const G4double 974 static const std::pair<G4int, const G4double 975 976 977 //==> Lu(Z=71) 978 static const G4int N71=2; 979 static const G4double pZ71N104[4]={3.E-12, 5 980 static const std::pair<G4int, const G4double 981 static const G4double pZ71N105[4]={3.E-12, 5 982 static const std::pair<G4int, const G4double 983 static const std::pair<G4int, const G4double 984 //==> Hf(Z=72) 985 static const G4int N72=6; 986 static const G4double pZ72N102[4]={3.E-12, 5 987 static const std::pair<G4int, const G4double 988 static const G4double pZ72N104[4]={3.E-12, 5 989 static const std::pair<G4int, const G4double 990 static const G4double pZ72N105[4]={3.E-12, 5 991 static const std::pair<G4int, const G4double 992 static const G4double pZ72N106[4]={3.E-12, 5 993 static const std::pair<G4int, const G4double 994 static const G4double pZ72N107[4]={3.E-12, 5 995 static const std::pair<G4int, const G4double 996 static const G4double pZ72N108[4]={3.E-12, 5 997 static const std::pair<G4int, const G4double 998 static const std::pair<G4int, const G4double 999 1000 //==> Ta(Z=73) 1001 static const G4int N73=1; 1002 static const G4double pZ73N108[4]={4.E-12, 1003 static const std::pair<G4int, const G4doubl 1004 static const std::pair<G4int, const G4doubl 1005 //==> W (Z=74) 1006 static const G4int N74=5; 1007 static const G4double pZ74N106[4]={7.E-12, 1008 static const std::pair<G4int, const G4doubl 1009 static const G4double pZ74N108[4]={7.E-12, 1010 static const std::pair<G4int, const G4doubl 1011 static const G4double pZ74N109[4]={2.E-12, 1012 static const std::pair<G4int, const G4doubl 1013 static const G4double pZ74N110[4]={7.E-12, 1014 static const std::pair<G4int, const G4doubl 1015 static const G4double pZ74N112[4]={7.E-12, 1016 static const std::pair<G4int, const G4doubl 1017 static const std::pair<G4int, const G4doubl 1018 1019 //==> Re(Z=75) 1020 static const G4int N75=2; 1021 static const G4double pZ75N110[4]={5.E-12, 1022 static const std::pair<G4int, const G4doubl 1023 static const G4double pZ75N112[4]={5.E-12, 1024 static const std::pair<G4int, const G4doubl 1025 static const std::pair<G4int, const G4doubl 1026 //==> Os(Z=76) 1027 static const G4int N76=7; 1028 static const G4double pZ76N108[4]={3.E-12, 1029 static const std::pair<G4int, const G4doubl 1030 static const G4double pZ76N110[4]={3.E-12, 1031 static const std::pair<G4int, const G4doubl 1032 static const G4double pZ76N111[4]={3.E-12, 1033 static const std::pair<G4int, const G4doubl 1034 static const G4double pZ76N112[4]={3.E-12, 1035 static const std::pair<G4int, const G4doubl 1036 static const G4double pZ76N113[4]={3.E-12, 1037 static const std::pair<G4int, const G4doubl 1038 static const G4double pZ76N114[4]={3.E-12, 1039 static const std::pair<G4int, const G4doubl 1040 static const G4double pZ76N116[4]={3.E-12, 1041 static const std::pair<G4int, const G4doubl 1042 static const std::pair<G4int, const G4doubl 1043 1044 1045 //==> Ir(Z=77) 1046 static const G4int N77=2; 1047 static const G4double pZ77N114[4]={4.E-12, 1048 static const std::pair<G4int, const G4doubl 1049 static const G4double pZ77N116[4]={5.E-12, 1050 static const std::pair<G4int, const G4doubl 1051 static const std::pair<G4int, const G4doubl 1052 //==> Pt(Z=78) 1053 static const G4int N78=6; 1054 static const G4double pZ78N112[4]={3.E-12, 1055 static const std::pair<G4int, const G4doubl 1056 static const G4double pZ78N114[4]={3.E-12, 1057 static const std::pair<G4int, const G4doubl 1058 static const G4double pZ78N116[4]={3.E-12, 1059 static const std::pair<G4int, const G4doubl 1060 static const G4double pZ78N117[4]={3.E-12, 1061 static const std::pair<G4int, const G4doubl 1062 static const G4double pZ78N118[4]={3.E-12, 1063 static const std::pair<G4int, const G4doubl 1064 static const G4double pZ78N120[4]={3.E-12, 1065 static const std::pair<G4int, const G4doubl 1066 static const std::pair<G4int, const G4doubl 1067 1068 //==> Au(Z=79) 1069 static const G4int N79=1; 1070 static const G4double pZ79N118[4]={.2E-9, 1 1071 static const std::pair<G4int, const G4doubl 1072 static const std::pair<G4int, const G4doubl 1073 //==> Hg(Z=80) 1074 static const G4int N80=7; 1075 static const G4double pZ80N116[4]={6.E-8, 2 1076 static const std::pair<G4int, const G4doubl 1077 static const G4double pZ80N118[4]={6.E-8, 2 1078 static const std::pair<G4int, const G4doubl 1079 static const G4double pZ80N119[4]={6.E-8, 2 1080 static const std::pair<G4int, const G4doubl 1081 static const G4double pZ80N120[4]={6.E-8, 2 1082 static const std::pair<G4int, const G4doubl 1083 static const G4double pZ80N121[4]={1.5E-7, 1084 static const std::pair<G4int, const G4doubl 1085 static const G4double pZ80N122[4]={6.E-8, 2 1086 static const std::pair<G4int, const G4doubl 1087 static const G4double pZ80N124[4]={6.E-8, 2 1088 static const std::pair<G4int, const G4doubl 1089 static const std::pair<G4int, const G4doubl 1090 1091 1092 //==> Tl(Z=81) 1093 static const G4int N81=2; 1094 static const G4double pZ81N122[4]={3.E-12, 1095 static const std::pair<G4int, const G4doubl 1096 static const G4double pZ81N124[4]={3.E-12, 1097 static const std::pair<G4int, const G4doubl 1098 static const std::pair<G4int, const G4doubl 1099 //==> Pb(Z=82) 1100 static const G4int N82=4; 1101 static const G4double pZ82N122[4]={.2E-9, 4 1102 static const std::pair<G4int, const G4doubl 1103 static const G4double pZ82N124[4]={6.E-9, 1 1104 static const std::pair<G4int, const G4doubl 1105 static const G4double pZ82N125[4]={.2E-9, 7 1106 static const std::pair<G4int, const G4doubl 1107 static const G4double pZ82N126[4]={4.E-9, 0 1108 static const std::pair<G4int, const G4doubl 1109 static const std::pair<G4int, const G4doubl 1110 1111 //==> Bi(Z=83) 1112 static const G4int N83=1; 1113 static const G4double pZ83N126[4]={1.5E-9, 1114 static const std::pair<G4int, const G4doubl 1115 static const std::pair<G4int, const G4doubl 1116 //==> Po(Z=84) 1117 static const G4int N84=1; 1118 static const G4double pZ84N0[4]={3.E-12, 50 1119 static const std::pair<G4int, const G4doubl 1120 static const std::pair<G4int, const G4doubl 1121 //==> At(Z=85) 1122 static const G4int N85=1; 1123 static const G4double pZ85N0[4]={3.E-12, 50 1124 static const std::pair<G4int, const G4doubl 1125 static const std::pair<G4int, const G4doubl 1126 //==> Rn(Z=86) 1127 static const G4int N86=1; 1128 static const G4double pZ86N0[4]={3.E-12, 50 1129 static const std::pair<G4int, const G4doubl 1130 static const std::pair<G4int, const G4doubl 1131 //==> Fr(Z=87) 1132 static const G4int N87=1; 1133 static const G4double pZ87N0[4]={3.E-12, 50 1134 static const std::pair<G4int, const G4doubl 1135 static const std::pair<G4int, const G4doubl 1136 //==> Ra(Z=88) 1137 static const G4int N88=1; 1138 static const G4double pZ88N138[4]={3.E-9, 2 1139 static const std::pair<G4int, const G4doubl 1140 static const std::pair<G4int, const G4doubl 1141 //==> Ac(Z=89) 1142 static const G4int N89=1; 1143 static const G4double pZ89N0[4]={3.E-12, 50 1144 static const std::pair<G4int, const G4doubl 1145 static const std::pair<G4int, const G4doubl 1146 //==> Th(Z=90) 1147 static const G4int N90=1; 1148 static const G4double pZ90N142[4]={1.E-11, 1149 static const std::pair<G4int, const G4doubl 1150 static const std::pair<G4int, const G4doubl 1151 //==> Pa(Z=91) 1152 static const G4int N91=1; 1153 static const G4double pZ91N0[4]={3.E-12, 50 1154 static const std::pair<G4int, const G4doubl 1155 static const std::pair<G4int, const G4doubl 1156 //==> U (Z=92) 1157 static const G4int N92=2; 1158 static const G4double pZ92N143[4]={2.E-11, 1159 static const std::pair<G4int, const G4doubl 1160 static const G4double pZ92N146[4]={1.E-11, 1161 static const std::pair<G4int, const G4doubl 1162 static const std::pair<G4int, const G4doubl 1163 //==> Np(Z=93) 1164 static const G4int N93=1; 1165 static const G4double pZ93N144[4]={4.E-8, 3 1166 static const std::pair<G4int, const G4doubl 1167 static const std::pair<G4int, const G4doubl 1168 //==> Pu(Z=94) 1169 static const G4int N94=3; 1170 static const G4double pZ94N145[4]={8.E-11, 1171 static const std::pair<G4int, const G4doubl 1172 static const G4double pZ94N148[4]={9.E-12, 1173 static const std::pair<G4int, const G4doubl 1174 static const G4double pZ94N150[4]={4.E-12, 1175 static const std::pair<G4int, const G4doubl 1176 static const std::pair<G4int, const G4doubl 1177 //==> Am(Z=95) 1178 static const G4int N95=1; 1179 static const G4double pZ95N0[4]={3.E-12, 50 1180 static const std::pair<G4int, const G4doubl 1181 static const std::pair<G4int, const G4doubl 1182 //==> Cm(Z=96) 1183 static const G4int N96=1; 1184 static const G4double pZ96N151[4]={1.5E-8, 1185 static const std::pair<G4int, const G4doubl 1186 static const std::pair<G4int, const G4doubl 1187 1188 static const G4int NZ=97; // #of Elements c 1189 static const std::pair<G4int, const G4doubl 1190 Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z 1191 Z31,Z32,Z33,Z34,Z35,Z36,Z37,Z38,Z39,Z40,Z 1192 Z52,Z53,Z54,Z55,Z56,Z57,Z58,Z59,Z60,Z61,Z 1193 Z73,Z74,Z75,Z76,Z77,Z78,Z79,Z80,Z81,Z82,Z 1194 Z94,Z95,Z96}; 1195 static const G4int NIso[NZ]={N0,N1,N2,N3,N4 1196 N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N 1197 N38,N39,N40,N41,N42,N43,N44,N45,N46,N47,N 1198 N59,N60,N61,N62,N63,N64,N65,N66,N67,N68,N 1199 N80,N81,N82,N83,N84,N85,N86,N87,N88,N89,N 1200 //G4int curN=Pars[1][0].first; 1201 //G4double par=Pars[1][0].second[1]; 1202 //G4cout<<"-Warning-G4ChipsNeutronInelastic 1203 G4double sigma=0.; 1204 G4double lP=G4Log(P); 1205 if( (tZ==1 && !tN) || (!tZ && tN==1)){if(P> 1206 else if(tZ<97 && tN<152) // 1207 { 1208 HEthresh=1.E-4; // Default guess 1209 G4double pex=0.; 1210 G4double pos=0.; 1211 G4double wid=1.; 1212 G4int nn=NIso[tZ]; 1213 G4bool nfound=true; 1214 if(nn) for (G4int in=0; in<nn; in++) 1215 { 1216 std::pair<G4int, const G4double*> curIs 1217 if(curIs.first == tN) 1218 { 1219 const G4double* curT=curIs.second; 1220 HEthresh= curT[0]; 1221 pex = curT[1]; 1222 pos = curT[2]; 1223 wid = curT[3]; 1224 nfound = false; 1225 break; 1226 } 1227 } 1228 if(nfound) G4cout<<"-Warning-G4ChipsNeutr 1229 <<tN<<" isotope is not i 1230 sigma=CrossSectionFormula(tZ,tN,P,lP); 1231 if(pex>0.) 1232 { 1233 G4double dp=P-pos; 1234 sigma+=pex*G4Exp(-dp*dp/wid); 1235 } 1236 } 1237 else 1238 { 1239 G4cerr<<"-Warning-G4ChipsNeutronNuclearCr 1240 sigma=0.; 1241 } 1242 if(sigma<0.) return 0.; 1243 return sigma; 1244 } 1245 1246 // Calculation formula for proton-nuclear ine 1247 G4double G4ChipsNeutronInelasticXS::CrossSect 1248 { 1249 G4double P=G4Exp(lP); 1250 return CrossSectionFormula(tZ, tN, P, lP); 1251 } 1252 // Calculation formula for proton-nuclear ine 1253 G4double G4ChipsNeutronInelasticXS::CrossSect 1254 1255 { 1256 G4double sigma=0.; 1257 if(tZ==1 && !tN) // 1258 { 1259 1260 G4double El(0.), To(0.); // 1261 if(P<0.1) // 1262 { 1263 G4double p2=P*P; 1264 El=1./(0.00012+p2*(0.051+0.1*p2)); 1265 To=El; 1266 } 1267 else if(P>1000.) 1268 { 1269 G4double lp=G4Log(P)-3.5; 1270 G4double lp2=lp*lp; 1271 El=0.0557*lp2+6.72; 1272 To=0.3 *lp2+38.2; 1273 } 1274 else 1275 { 1276 G4double p2=P*P; 1277 G4double LE=1./(0.00012+p2*(0.051+0.1*p 1278 G4double lp=G4Log(P)-3.5; 1279 G4double lp2=lp*lp; 1280 G4double rp2=1./p2; 1281 El=LE+(0.0557*lp2+6.72+30./P)/(1.+0.49* 1282 To=LE+(0.3 *lp2+38.2)/(1.+0.54*rp2*rp 1283 } // Co 1284 1285 /* 1286 G4double p2=P*P; 1287 G4double lp=lP-3.5; 1288 G4double lp2=lp*lp; 1289 G4double rp2=1./p2; 1290 G4double El=(.0557*lp2+6.72+32.6/P)/(1.+r 1291 G4double To=(.3*lp2+38.2+52.7*rp2)/(1.+2. 1292 */ 1293 sigma=To-El; 1294 } 1295 else if(tZ<97 && tN<152) // 1296 { 1297 //G4double lP=G4Log(P); // Alr 1298 G4double d=lP-4.2; // 1299 G4double p2=P*P; // 1300 G4double p4=p2*p2; // 1301 G4double a=tN+tZ; // 1302 G4double al=G4Log(a); // 1303 G4double sa=std::sqrt(a); // 1304 G4double a2=a*a; // 1305 G4double sa2=sa*a2; // 1306 G4double a3=a2*a; // 1307 G4double a4=a2*a2; // 1308 //G4double a5=a4*a; 1309 G4double a6=a4*a2; // 1310 G4double a7=a6*a; // 1311 G4double a8=a4*a4; // 1312 //G4double a12=a8*a4; 1313 //G4double a16=a8*a8; 1314 G4double c=(170.+3600./sa2)/(1.+65./sa2); 1315 G4double dl=al-3.; 1316 G4double dl2=dl*dl; 1317 G4double r=.21+.62*dl2/(1.+.5*dl2); 1318 G4double gg=42.*(G4Exp(al*0.8)+4.E-8*a4)/ 1319 G4double e=5.*((a6+.021*a8)/(1.+.0013*a7) 1320 G4double ss=5./(1.+144./a8); 1321 G4double h=HEthresh; // Individual 1322 1323 //G4double h=(.01/a4+2.5e-6/a)*(1.+7.e-8* 1324 //sigma=(c+d*d)/(1.+r/p4)+(gg+e*G4Exp(-ss 1325 sigma=(c+d*d)/(1+r/p4)+(gg+e*G4Exp(-ss*P) 1326 } 1327 else 1328 { 1329 G4cerr<<"-Warning-G4ChipsNeutronNuclearCr 1330 sigma=0.; 1331 } 1332 if(sigma<0.) return 0.; 1333 return sigma; 1334 } 1335 1336 G4double G4ChipsNeutronInelasticXS::EquLinear 1337 { 1338 if(DX<=0. || N<2) 1339 { 1340 G4cerr<<"***G4ChipsNeutronInelasticXS:: 1341 return Y[0]; 1342 } 1343 1344 G4int N2=N-2; 1345 G4double d=(X-X0)/DX; 1346 G4int jj=static_cast<int>(d); 1347 if (jj<0) jj=0; 1348 else if(jj>N2) jj=N2; 1349 d-=jj; // excess 1350 G4double yi=Y[jj]; 1351 G4double sigma=yi+(Y[jj+1]-yi)*d; 1352 1353 return sigma; 1354 } 1355