- Timestamp:
- Dec 22, 2010, 3:52:27 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/incl/include/G4InclDataDefs.hh
r1340 r1347 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4InclDataDefs.hh,v 1.1 0 2010/10/28 15:35:50 gcosmoExp $26 // $Id: G4InclDataDefs.hh,v 1.12 2010/11/17 20:19:09 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 63 63 class G4QuadvectProjo { 64 64 public: 65 G4QuadvectProjo() {}; 65 G4QuadvectProjo() { 66 for(G4int i = 0; i < max_a_proj; ++i) { 67 eps_c[i] = 0.0; 68 t_c[i] = 0.0; 69 p3_c[i] = 0.0; 70 p1_s[i] = 0.0; 71 p2_s[i] = 0.0; 72 p3_s[i] = 0.0; 73 } 74 }; 75 66 76 ~G4QuadvectProjo() {}; 67 77 … … 73 83 class G4VBe { 74 84 public: 75 G4VBe() {}; 85 G4VBe() 86 :ia_be(0), iz_be(0), 87 rms_be(0.0), pms_be(0.0), bind_be(0.0) 88 { }; 89 76 90 ~G4VBe() {}; 77 91 … … 87 101 G4InclProjSpect() { 88 102 // G4cout <<"Projectile spectator data structure created!" << G4endl; 103 clear(); 89 104 }; 90 105 ~G4InclProjSpect() {}; … … 95 110 a_projspec = 0; 96 111 z_projspec = 0; 97 m_projspec = 0.0;112 t_projspec = 0.0; 98 113 ex_projspec = 0.0; 99 114 p1_projspec = 0.0; 100 115 p2_projspec = 0.0; 101 116 p3_projspec = 0.0; 117 m_projspec = 0.0; 102 118 }; 103 119 … … 108 124 }; 109 125 110 #define FSIZE 15111 /**112 * Initial values of a hadronic cascade problem.113 */114 class G4Calincl {115 public:116 G4Calincl() {117 isExtendedProjectile = false;118 };119 120 G4Calincl(const G4HadProjectile &aTrack, const G4Nucleus &theNucleus, G4bool inverseKinematics = false) {121 for(int i = 0; i < 15; i++) {122 f[i] = 0.0; // Initialize INCL input data123 }124 125 usingInverseKinematics = inverseKinematics;126 127 f[0] = theNucleus.GetA_asInt(); // Target mass number128 f[1] = theNucleus.GetZ_asInt(); // Target charge number129 f[6] = getBulletType(aTrack.GetDefinition()); // Projectile type (INCL particle code)130 f[2] = aTrack.GetKineticEnergy() / MeV; // Projectile energy (total, in MeV)131 f[5] = 1.0; // Time scaling132 f[4] = 45.0; // Nuclear potential133 setExtendedProjectileInfo(aTrack.GetDefinition());134 // G4cout <<"Projectile type = " << f[6] << G4endl;135 // G4cout <<"Energy = " << f[2] << G4endl;136 // G4cout <<"Target A = " << f[0] << " Z = " << f[1] << G4endl;137 };138 139 ~G4Calincl() {};140 141 static void printProjectileTargetInfo(const G4HadProjectile &aTrack, const G4Nucleus &theNucleus) {142 G4cout <<"Projectile = " << aTrack.GetDefinition()->GetParticleName() << G4endl;143 G4cout <<" four-momentum: " << aTrack.Get4Momentum() << G4endl;144 G4cout <<"Energy = " << aTrack.GetKineticEnergy() / MeV << G4endl;145 G4cout <<"Target A = " << theNucleus.GetA_asInt() << " Z = " << theNucleus.GetZ_asInt() << G4endl;146 }147 148 static G4bool canUseInverseKinematics(const G4HadProjectile &aTrack, const G4Nucleus &theNucleus) {149 G4int targetA = theNucleus.GetA_asInt();150 const G4ParticleDefinition *projectileDef = aTrack.GetDefinition();151 G4int projectileA = projectileDef->GetAtomicMass();152 // G4int projectileZ = projectileDef->GetAtomicNumber();153 if(targetA > 0 && targetA < 18 && (projectileDef != G4Proton::Proton() &&154 projectileDef != G4Neutron::Neutron() &&155 projectileDef != G4PionPlus::PionPlus() &&156 projectileDef != G4PionZero::PionZero() &&157 projectileDef != G4PionMinus::PionMinus()) &&158 projectileA > 1) {159 return true;160 } else {161 return false;162 }163 }164 165 G4double bulletE() {166 return f[2];167 }168 169 G4int getBulletType() {170 return G4int(f[6]);171 };172 173 void setExtendedProjectileInfo(const G4ParticleDefinition *pd) {174 if(getBulletType(pd) == -666) {175 extendedProjectileA = pd->GetAtomicMass();176 extendedProjectileZ = pd->GetAtomicNumber();177 isExtendedProjectile = true;178 } else {179 isExtendedProjectile = false;180 }181 };182 183 G4int getBulletType(const G4ParticleDefinition *pd) {184 G4ParticleTable *pt = G4ParticleTable::GetParticleTable();185 186 if(pd == G4Proton::Proton()) {187 return 1;188 } else if(pd == G4Neutron::Neutron()) {189 return 2;190 } else if(pd == G4PionPlus::PionPlus()) {191 return 3;192 } else if(pd == G4PionMinus::PionMinus()) {193 return 5;194 } else if(pd == G4PionZero::PionZero()) {195 return 4;196 } else if(pd == G4Deuteron::Deuteron()) {197 return 6;198 } else if(pd == G4Triton::Triton()) {199 return 7;200 } else if(pd == G4He3::He3()) {201 return 8;202 } else if(pd == G4Alpha::Alpha()) {203 return 9;204 } else if(pd == pt->GetIon(6, 12, 0.0)) { // C12 special case. This should be phased-out in favor of "extended projectile"205 return -12;206 } else { // Is this extended projectile?207 G4int A = pd->GetAtomicMass();208 G4int Z = pd->GetAtomicNumber();209 if(A > 4 && A <= 16 && Z > 2 && Z <= 8) { // Ions from Lithium to Oxygen210 return -666; // Code of an extended projectile211 }212 }213 G4cout <<"Error! Projectile " << pd->GetParticleName() << " not defined!" << G4endl;214 return 0;215 };216 217 G4bool isInverseKinematics() {218 return usingInverseKinematics;219 };220 221 G4double targetA() { return f[0]; };222 G4double targetZ() { return f[1]; };223 224 G4int extendedProjectileA;225 G4int extendedProjectileZ;226 G4bool isExtendedProjectile;227 228 /**229 * Here f is an array containing the following initial values:230 * - f[0] : target mass number231 * - f[1] : target charge number232 * - f[2] : bullet energy233 * - f[3] : minimum proton energy to leave the target (default: 0.0)234 * - f[4] : nuclear potential (default: 45.0 MeV)235 * - f[5] : time scale (default: 1.0)236 * - f[6] : bullet type (1: proton, 2: neutron, 3: pi+, 4: pi0 5: pi-, 6:H2, 7: H3, 8: He3, 9: He4237 * - f[7] : minimum neutron energy to leave the target (default: 0.0)238 * - f[8] : target material identifier (G4Mat)239 * - f[9] : not used240 * - f[10] : not used241 * - f[11] : not used242 * - f[12] : not used243 * - f[13] : not used244 * - f[14] : not used245 */246 G4double f[FSIZE];247 248 /**249 * Number of events to be processed.250 */251 G4int icoup;252 253 G4bool usingInverseKinematics;254 };255 256 126 #define IGRAINESIZE 19 257 127 /** … … 262 132 class G4Hazard{ 263 133 public: 264 G4Hazard() {}; 134 G4Hazard() { 135 ial = 0; 136 for(G4int i = 0; i < IGRAINESIZE; ++i) { 137 igraine[i] = 0; 138 } 139 }; 140 265 141 ~G4Hazard() {}; 266 142 … … 283 159 class G4Mat { 284 160 public: 285 G4Mat() { }; 161 G4Mat() { 162 nbmat = 0; 163 164 for(G4int i = 0; i < MATSIZE; ++i) { 165 zmat[i] = 0; 166 amat[i] = 0; 167 } 168 169 for(G4int i = 0; i < MATGEOSIZE; ++i) { 170 for(G4int j = 0; j < MATSIZE; ++j) { 171 bmax_geo[i][j] = 0; 172 } 173 } 174 }; 175 286 176 ~G4Mat() { }; 287 177 … … 313 203 class G4LightGausNuc { 314 204 public: 315 G4LightGausNuc() {}; 205 G4LightGausNuc() { 206 for(G4int i = 0; i < LGNSIZE; ++i) { 207 rms1t[i] = 0.0; 208 pf1t[i] = 0.0; 209 pfln[i] = 0.0; 210 tfln[i] = 0.0; 211 vnuc[i] = 0.0; 212 } 213 }; 214 316 215 ~G4LightGausNuc() {}; 317 216 … … 329 228 class G4LightNuc { 330 229 public: 331 G4LightNuc() {}; 230 G4LightNuc() { 231 for(G4int i = 0; i < LNSIZE; ++i) { 232 r[i] = 0.0; 233 a[i] = 0.0; 234 } 235 }; 236 332 237 ~G4LightNuc() {}; 333 238 … … 350 255 class G4Saxw { 351 256 public: 352 G4Saxw() {}; 257 G4Saxw() { 258 for(G4int i = 0; i < SAXWROWS; ++i) { 259 for(G4int j = 0; j < SAXWCOLS; ++j) { 260 x[i][j] = 0.0; 261 y[i][j] = 0.0; 262 s[i][j] = 0.0; 263 } 264 } 265 imat = 0; n = 0; k = 0; 266 }; 267 353 268 ~G4Saxw() {}; 354 269 … … 391 306 G4Ws() { 392 307 fneck = 0.0; 393 }; 308 r0 = 0.0; 309 adif = 0.0; 310 rmaxws = 0.0; 311 drws = 0.0; 312 nosurf = 0.0; 313 xfoisa = 0.0; 314 bmax = 0.0; 315 npaulstr = 0.0; 316 }; 317 394 318 ~G4Ws() {}; 395 319 … … 453 377 class G4Dton { 454 378 public: 455 G4Dton() {}; 379 G4Dton() { 380 fn = 0.0; 381 for(G4int i = 0; i < DTONSIZE; ++i) { 382 c[i] = 0.0; 383 d[i] = 0.0; 384 } 385 }; 386 456 387 ~G4Dton() {}; 457 388 … … 469 400 class G4Spl2 { 470 401 public: 471 G4Spl2() {}; 402 G4Spl2() { 403 for(G4int i = 0; i < SPL2SIZE; ++i) { 404 x[i] = 0.0; y[i] = 0.0; 405 a[i] = 0.0; b[i] = 0.0; c[i] = 0.0; 406 } 407 n = 0; 408 }; 409 472 410 ~G4Spl2() {}; 473 411 … … 491 429 class G4Bl1 { 492 430 public: 493 G4Bl1() {}; 431 G4Bl1() { 432 ta = 0.0; 433 for(G4int i = 0; i < BL1SIZE; ++i) { 434 p1[i] = 0.0; p2[i] = 0.0; p3[i] = 0.0; eps[i] = 0.0; 435 ind1[i] = 0; ind2[i] = 0; 436 } 437 }; 438 494 439 ~G4Bl1() {}; 495 440 … … 510 455 }; 511 456 512 #define BL2CROISSIZE 19900 513 #define BL2INDSIZE 19900 457 #define BL2SIZE 19900 514 458 /** 515 459 * … … 517 461 class G4Bl2 { 518 462 public: 519 G4Bl2() {}; 463 G4Bl2() { 464 k = 0; 465 for(G4int i = 0; i < BL2SIZE; ++i) { 466 crois[i] = 0.0; 467 ind[i] = 0; 468 jnd[i] = 0; 469 } 470 }; 471 520 472 ~G4Bl2() {}; 521 473 … … 533 485 * 534 486 */ 535 G4double crois[BL2 CROISSIZE];487 G4double crois[BL2SIZE]; 536 488 537 489 /** … … 543 495 * 544 496 */ 545 G4int ind[BL2 INDSIZE];546 547 /** 548 * 549 */ 550 G4int jnd[BL2 INDSIZE];497 G4int ind[BL2SIZE]; 498 499 /** 500 * 501 */ 502 G4int jnd[BL2SIZE]; 551 503 }; 552 504 … … 558 510 class G4Bl3 { 559 511 public: 560 G4Bl3() {}; 512 G4Bl3() { 513 r1 = 0.0; r2 = 0.0; 514 ia1 = 0; ia2 = 0; 515 rab2 = 0.0; 516 517 for(G4int i = 0; i < BL3SIZE; ++i) { 518 x1[i] = 0.0; x2[i] = 0.0; x3[i] = 0.0; 519 } 520 }; 521 561 522 ~G4Bl3() {}; 562 523 … … 599 560 class G4Bl4 { 600 561 public: 601 G4Bl4() {}; 562 G4Bl4() 563 :tmax5(0.0) 564 {}; 565 602 566 ~G4Bl4() {}; 603 567 … … 615 579 class G4Bl5 { 616 580 public: 617 G4Bl5() {}; 581 G4Bl5() { 582 for(G4int i = 0; i < BL5SIZE; ++i) { 583 tlg[i] = 0.0; 584 nesc[i] = 0; 585 } 586 }; 587 618 588 ~G4Bl5() {}; 619 589 … … 634 604 class G4Bl6 { 635 605 public: 636 G4Bl6() {}; 606 G4Bl6() 607 :xx10(0.0), isa(0.0) 608 {}; 609 637 610 ~G4Bl6() {}; 638 611 … … 653 626 class G4Bl8 { 654 627 public: 655 G4Bl8() {}; 628 G4Bl8() 629 :rathr(0.0), ramass(0.0) 630 {}; 631 656 632 ~G4Bl8() {}; 657 633 … … 677 653 l1 = 0; 678 654 l2 = 0; 655 for(G4int i = 0; i < BL9SIZE; ++i) { 656 hel[i] = 0.0; 657 } 679 658 }; 680 659 ~G4Bl9() {}; … … 696 675 class G4Bl10 { 697 676 public: 698 G4Bl10() {}; 677 G4Bl10() 678 :ri4(0.0), rs4(0.0), r2i(0.0), r2s(0.0), pdummy(0.0), pf(0.0) 679 {}; 699 680 ~G4Bl10() {}; 700 681 … … 710 691 class G4Kind { 711 692 public: 712 G4Kind() {}; 693 G4Kind() 694 :kindf7(0) 695 {}; 713 696 ~G4Kind() {}; 714 697 … … 770 753 class G4VarAvat { 771 754 public: 772 G4VarAvat() {}; 755 G4VarAvat() { 756 kveux = 0; 757 bavat = 0.0; 758 nopartavat = 0; ncolavat = 0; 759 nb_avat = 0; 760 761 for(G4int i = 0; i < VARSIZE; ++i) { 762 r1_in[i] = 0.0; 763 r1_first_avat[i] = 0.0; 764 } 765 766 for(G4int i = 0; i < VAEPSSIZE; ++i) { 767 epsd[i] = 0.0; 768 eps2[i] = 0.0; 769 eps4[i] = 0.0; 770 eps6[i] = 0.0; 771 epsf[i] = 0.0; 772 } 773 774 for(G4int i = 0; i < VAAVM; ++i) { 775 timeavat[i] = 0.0; 776 l1avat[i] = 0.0; 777 l2avat[i] = 0.0; 778 jpartl1[i] = 0.0; 779 jpartl2[i] = 0.0; 780 del1avat[i] = 0.0; 781 del2avat[i] = 0.0; 782 energyavat[i] = 0.0; 783 bloc_paul[i] = 0.0; 784 bloc_cdpp[i] = 0.0; 785 go_out[i] = 0.0; 786 } 787 }; 788 773 789 ~G4VarAvat() {}; 774 790 … … 822 838 class G4VarNtp { 823 839 public: 824 G4VarNtp() {}; 840 G4VarNtp() { 841 clear(); 842 }; 843 825 844 ~G4VarNtp() {}; 826 845 … … 834 853 targetA = 0; 835 854 targetZ = 0; 836 masp = 0.0; mzsp = 0.0; exsp = 0.0; 855 masp = 0.0; mzsp = 0.0; exsp = 0.0; mrem = 0.0; 837 856 // To be deleted? 838 857 spectatorA = 0; … … 1190 1209 class G4Paul { 1191 1210 public: 1192 G4Paul() {}; 1211 G4Paul() 1212 :ct0(0.0), ct1(0.0), ct2(0.0), ct3(0.0), ct4(0.0), ct5(0.0), ct6(0.0), 1213 pr(0.0), pr2(0.0), xrr(0.0), xrr2(0.0), 1214 cp0(0.0), cp1(0.0), cp2(0.0), cp3(0.0), cp4(0.0), cp5(0.0), cp6(0.0) 1215 {}; 1216 1193 1217 ~G4Paul() {}; 1194 1218
Note: See TracChangeset
for help on using the changeset viewer.