Changeset 1055 for trunk/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QPDGCode.cc
- Timestamp:
- May 28, 2009, 4:26:57 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QPDGCode.cc
r1007 r1055 25 25 // 26 26 // 27 // $Id: G4QPDGCode.cc,v 1.5 6 2008/03/20 20:11:38 dennisExp $28 // GEANT4 tag $Name: geant4-09-0 2$27 // $Id: G4QPDGCode.cc,v 1.57 2009/02/23 09:49:24 mkossov Exp $ 28 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $ 29 29 // 30 30 // ---------------- G4QPDGCode ---------------- 31 31 // by Mikhail Kossov, Sept 1999. 32 32 // class for Hadron definitions in CHIPS Model 33 // ------------------------------------------------------------------- 34 // Short description: The PDG Code is made on the basis of the Quark 35 // Content (G4QuarkContent) of the hadronic state (including nuclear 36 // fragments). The PDG code of the ground state (e.g. pi, N, etc.) is 37 // calculated. It includes a complicated algortithm of the G.S. mass 38 // calculation for nuclear fragments (now it is synchronised with the 39 // G4 nuclear massess). 33 40 // ------------------------------------------------------------------- 34 41 … … 222 229 static G4int qC[modi] = { 11, 12, 13, 14, 15, 16, 22, 23, 24, 25, // 10 223 230 37, 110, 220, 330, 111, 211, 221, 311, 321, 331, // 20 224 225 231 2112, 2212, 3122, 3112, 3212, 3222, 3312, 3322, 113, 213, // 30 232 223, 313, 323, 333, 1114, 2114, 2214, 2224, 3124, 3114, // 40 226 233 3214, 3224, 3314, 3324, 3334, 115, 215, 225, 315, 325, // 50 227 234 335, 2116, 2216, 3126, 3116, 3216, 3226, 3316, 3326, 117, // 60 … … 235 242 91001999 , 90001002 , 90002001 , 91000002 , 91001001 , //110 236 243 91002000 , 92000001 , 92001000 , 90999003 , 90001003 , 237 244 90002002 , 90003001 , 91001002 , 91002001 , 92000002 , //120 238 245 92001001 , 92002000}; 239 246 static G4int aC[15] = {1,1000,999001,1000000,1000999,1999000,1999999, // sum 1 … … 269 276 , 1691., 1667., 1776., 1776., 1854., 1950., 1950., 1950., 1950., 2100. 270 277 , 2030., 2030., 2030., 2127., 2127., 2252., 2020., 2020., 2044., 2045. 271 278 , 2045., 2297., 2170.272, 2171.565, 2464., 2464., 3108.544, 3111.13,3402.272,3403.565}; 272 279 if(iniFlag) // Initialization of the Geant4 hadronic masses 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 280 { 281 m[ 0]= G4Electron::Electron()->GetPDGMass(); 282 m[ 1]= G4NeutrinoE::NeutrinoE()->GetPDGMass(); 283 m[ 2]= G4MuonMinus::MuonMinus()->GetPDGMass(); 284 m[ 3]= G4NeutrinoMu::NeutrinoMu()->GetPDGMass(); 285 m[ 4]= G4TauMinus::TauMinus()->GetPDGMass(); 286 m[ 5]=G4NeutrinoTau::NeutrinoTau()->GetPDGMass(); 287 m[14]= G4PionZero::PionZero()->GetPDGMass(); 288 m[15]= G4PionMinus::PionMinus()->GetPDGMass(); 289 m[16]= G4Eta::Eta()->GetPDGMass(); 290 m[17]= G4KaonZero::KaonZero()->GetPDGMass(); 291 m[18]= G4KaonMinus::KaonMinus()->GetPDGMass(); 292 m[19]= G4EtaPrime::EtaPrime()->GetPDGMass(); 293 m[20]= G4Neutron::Neutron()->GetPDGMass(); 294 m[21]= G4Proton::Proton()->GetPDGMass(); 295 m[22]= G4Lambda::Lambda()->GetPDGMass(); 296 m[23]= G4SigmaMinus::SigmaMinus()->GetPDGMass(); 297 m[24]= G4SigmaZero::SigmaZero()->GetPDGMass(); 298 m[25]= G4SigmaPlus::SigmaPlus()->GetPDGMass(); 299 m[26]= G4XiMinus::XiMinus()->GetPDGMass(); 300 m[27]= G4XiZero::XiZero()->GetPDGMass(); 301 m[44]= G4OmegaMinus::OmegaMinus()->GetPDGMass(); 295 302 iniFlag=false; 296 303 } 297 304 if(nQ<0 || nQ>=nQHM) 298 305 { 299 306 G4cout<<"***G4QPDGCode::QHaM: negative Q-code or Q="<<nQ<<" >= nQmax = "<<nQHM<<G4endl; 300 307 return 0.; … … 327 334 #endif 328 335 if(b<0) // ---> Baryons & Fragments 329 330 336 { 337 b=-b; 331 338 n=-n; 332 339 z=-z; … … 335 342 } 336 343 else if(!b) // --> Mesons 337 344 { 338 345 //G4bool anti=false; // For the PDG conversion 339 346 if(z<0) // --> Mesons conversion 340 347 { 341 348 n=-n; 342 349 z=-z; … … 345 352 } 346 353 if(!z) 347 354 { 348 355 if(s>0) 349 356 { 350 357 n=-n; 351 358 s=-s; … … 357 364 } 358 365 else // --> z>0 359 366 { 360 367 if(z==1) 361 368 { … … 368 375 } // End of meson case 369 376 if(b>0) // --> Baryon case 370 377 { 371 378 if(b==1) 372 379 { 373 380 if(!s) // --> Baryons 374 381 { 375 382 if(z==-1) return 34; // Delta- 376 383 else if(!z) return 91; // neutron … … 381 388 } 382 389 else if(s==1) // --> Hyperons 383 390 { 384 391 if(z==-1) return 93; // Sigma- 385 392 else if(!z) return 92; // Lambda (@@ 24->Sigma0) … … 389 396 } 390 397 else if(s==2) // --> Xi Hyperons 391 398 { 392 399 if(z==-1) return 95; // Xi- 393 400 else if(!z) return 96; // Xi0 … … 396 403 } 397 404 else if(s==3) // --> Xi Hyperons 398 405 { 399 406 if(z==-1) return 97; // Omega- 400 407 else if(!z||z==-2) return -1; // Omega+pi Chipolino … … 403 410 } 404 411 else 405 412 { 406 413 if(b==2) 407 414 { … … 457 464 G4int p=PDGC/10; // Quark Content 458 465 if(r%2) // (2s+1 is odd) Mesons are all the same 459 466 { 460 467 if (p==11) return Q+=1; 461 468 else if(p==21) return Q+=2; … … 471 478 return -2; 472 479 } 473 480 } 474 481 else // (2s+1 is even) Baryons 475 482 { 476 483 G4int s=r/2; 477 484 if(s%2) // ((2s+1)/2 is odd) N Family 478 485 { 479 486 if (p==211) return Q+=1; 480 487 else if(p==221) return Q+=2; … … 492 499 return -2; 493 500 } 494 495 496 501 } 502 else // ((2s+1)/2 is odd) Delta Family 503 { 497 504 if (p==111) return Q+= 1; 498 505 else if(p==211) return Q+= 2; … … 513 520 return -2; 514 521 } 515 516 522 } 523 } 517 524 } 518 525 else // Nuclear Fragments … … 527 534 #endif 528 535 return -2; 529 536 } 530 537 else 531 538 { 532 539 G4int b=t/3; // baryon number 533 540 if(b==1) // baryons … … 604 611 } 605 612 else 606 613 { 607 614 if (s==0&&u==-1&&d== 1) return Q+=1; 608 615 else if(s==0&&u== 0&&d== 0) return Q+=2; … … 620 627 return -2; 621 628 } 622 623 629 } 630 } 624 631 } 625 632 #ifdef pdebug … … 634 641 G4int ab=theQCode; 635 642 #ifdef debug 636 643 G4cout<<"G4QPDGCode::GetMass: Mass for Q="<<ab<<",PDG="<<thePDGCode<<",N="<<nQHM<<G4endl; 637 644 #endif 638 645 if ( (ab < 0 && thePDGCode < 80000000) || !thePDGCode) { … … 664 671 G4double m=GetNuclMass(z,n,s); 665 672 #ifdef debug 666 673 G4cout<<"G4QPDG::GetM:PDG="<<thePDGCode<<"=>Z="<<z<<",N="<<n<<",S="<<s<<",M="<<m<<G4endl; 667 674 #endif 668 675 return m; … … 684 691 , 160., 168., 159., 159., 87., 300., 300., 300., 300., 200. 685 692 , 180., 180., 180., 99., 99., 55., 387., 387., 208., 198. 686 693 , 198., 149., 120., 120., 170., 170., 120., 120., 170., 170.}; 687 694 G4int ab=abs(theQCode); 688 695 if(ab<nW) return width[ab]; … … 730 737 static const G4int iNF[nEl]={0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 14 731 738 1 , 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 29 732 733 739 16 , 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, // 44 740 31 , 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 53, 54, 55, // 59 734 741 56 , 56, 57, 57, 58, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, // 74 735 742 71 , 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, // 89 … … 738 745 static G4int iNmin[nEl]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 14 739 746 1 , 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 29 740 741 747 16 , 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, // 44 748 31 , 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 53, 54, 55, // 59 742 749 56 , 56, 57, 57, 58, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, // 74 743 750 71 , 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, // 89 … … 746 753 static G4int iNran[nEl]={19,20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, // 14 747 754 34 , 35, 36, 37, 38, 39, 40, 48, 48, 48, 48, 50, 50, 50, 52, // 29 748 749 755 53 , 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, // 44 756 68 , 69, 70, 70, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, // 59 750 757 73 , 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 76, // 74 751 758 76 , 76, 76, 76, 76, 75, 74, 73, 72, 71, 70, 70, 69, 69, 69, // 89 … … 754 761 static const G4int iNL[nEl]={19,20,21,22,23,24, 25, 26, 27, 28, 29, 30, 31, 32, 33, // 14 755 762 34 , 35, 36, 37, 38, 39, 40, 48, 48, 48, 48, 50, 50, 50, 52, // 29 756 757 763 53 , 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, // 44 764 68 , 69, 70, 70, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, // 59 758 765 73 , 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 76, // 74 759 766 76 , 76, 76, 76, 76, 75, 74, 73, 72, 71, 70, 70, 69, 69, 69, // 89 760 767 68 , 68, 68, 67, 63, 59, 55, 51, 47, 43, 39, 35, 31, 27, 23};//104 761 768 // ********* S=-4 vectors ************* 762 763 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 764 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 765 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 766 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 767 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 768 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 769 769 static G4bool iNin6[nEl]={false,false,false,false,false,false,false, 770 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 771 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 772 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 773 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 774 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 775 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 776 false,false,false,false,false,false,false,false,false,false,false,false,false,false}; 770 777 static G4double VZ6[nEl][iNR]; 771 778 //********* S=-3 vectors ************* 772 773 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 774 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 775 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 776 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 777 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 778 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 779 779 static G4bool iNin7[nEl]={false,false,false,false,false,false,false, 780 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 781 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 782 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 783 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 784 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 785 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 786 false,false,false,false,false,false,false,false,false,false,false,false,false,false}; 780 787 static G4double VZ7[nEl][iNR]; 781 788 // ********* S=-2 vectors ************* 782 783 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 784 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 785 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 786 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 787 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 788 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 789 789 static G4bool iNin8[nEl]={false,false,false,false,false,false,false, 790 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 791 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 792 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 793 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 794 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 795 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 796 false,false,false,false,false,false,false,false,false,false,false,false,false,false}; 790 797 static G4double VZ8[nEl][iNR]; 791 798 // ********* S=-1 vectors ************* 792 793 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 794 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 795 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 796 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 797 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 798 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 799 799 static G4bool iNin9[nEl]={false,false,false,false,false,false,false, 800 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 801 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 802 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 803 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 804 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 805 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 806 false,false,false,false,false,false,false,false,false,false,false,false,false,false}; 800 807 static G4double VZ9[nEl][iNR]; 801 808 // ********* S=0 vectors ************* 802 803 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 804 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 805 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 806 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 807 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 808 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 809 809 static G4bool iNin0[nEl]={false,false,false,false,false,false,false, 810 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 811 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 812 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 813 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 814 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 815 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 816 false,false,false,false,false,false,false,false,false,false,false,false,false,false}; 810 817 static G4double VZ0[nEl][iNR]; 811 818 // ********* S=1 vectors ************* 812 813 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 814 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 815 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 816 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 817 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 818 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 819 819 static G4bool iNin1[nEl]={false,false,false,false,false,false,false, 820 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 821 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 822 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 823 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 824 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 825 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 826 false,false,false,false,false,false,false,false,false,false,false,false,false,false}; 820 827 static G4double VZ1[nEl][iNR]; 821 828 // ********* S=2 vectors ************* 822 823 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 824 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 825 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 826 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 827 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 828 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 829 829 static G4bool iNin2[nEl]={false,false,false,false,false,false,false, 830 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 831 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 832 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 833 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 834 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 835 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 836 false,false,false,false,false,false,false,false,false,false,false,false,false,false}; 830 837 static G4double VZ2[nEl][iNR]; 831 838 // ********* S=3 vectors ************* 832 833 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 834 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 835 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 836 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 837 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 838 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 839 839 static G4bool iNin3[nEl]={false,false,false,false,false,false,false, 840 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 841 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 842 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 843 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 844 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 845 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 846 false,false,false,false,false,false,false,false,false,false,false,false,false,false}; 840 847 static G4double VZ3[nEl][iNR]; 841 848 // ********* S=2 vectors ************* 842 843 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 844 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 845 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 846 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 847 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 848 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 849 849 static G4bool iNin4[nEl]={false,false,false,false,false,false,false, 850 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 851 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 852 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 853 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 854 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 855 false,false,false,false,false,false,false,false,false,false,false,false,false,false, 856 false,false,false,false,false,false,false,false,false,false,false,false,false,false}; 850 857 static G4double VZ4[nEl][iNR]; 851 858 // … … 863 870 G4int zns=nz+s; 864 871 if(nz+s<0) 865 872 { 866 873 z=-z; 867 874 n=-n; … … 871 878 } 872 879 if(z<0) 873 880 { 874 881 if(z==-1) 875 882 { 876 883 if(!s) 877 884 { 878 885 if(n==1) return mPiC; // pi- 879 886 else return mPiC+(n-1)*mNeut; // Delta- + (N-1)*n 880 887 } 881 888 else if(s==1) // Strange negative hadron 882 889 { 883 890 if(!n) return mKM; // K- 884 891 else if(n==1) return mSiM; // Sigma- … … 888 895 } 889 896 else if(s==2) // --> Double-strange negative hadrons 890 897 { 891 898 if(!n) return mKsM; // Ksi- 892 899 else if(n==1) return mKsiM+mNeut; // Ksi- + n … … 986 993 } 987 994 else if(n<0) 988 995 { 989 996 if(n==-1) 990 997 { 991 998 if(!s) 992 999 { 993 1000 if(z==1) return mPiC; // pi+ 994 1001 else return mPiC+(z-1)*mProt; // Delta++ + (Z-1)*p 995 1002 } 996 1003 else if(s==1) // --> Strange neutral hadrons 997 1004 { 998 1005 if(!z) return mKZ; // K0 999 1006 else if(z==1) return mSiP; // Sigma+ … … 1003 1010 } 1004 1011 else if(s==2) // --> Double-strange negative hadrons 1005 1012 { 1006 1013 if(!z) return mKsZ; // Ksi0 1007 1014 else if(z==1) return mKsiZ+mProt; // Ksi- + p … … 1095 1102 //return CalculateNuclMass(z,n,s); // @@ This is just to compare the calculation time @@ 1096 1103 if(!s) // **************> S=0 nucleus 1097 1104 { 1098 1105 if(nz==256) return 256000.; 1099 1106 G4int Nmin=iNF[z]; // Minimun N(Z) for the Dynamic Associative Memory (DAM) 1100 1107 if(!iNin0[z]) // ====> This element is already initialized 1101 1108 { 1102 1109 #ifdef idebug 1103 1110 G4cout<<"**>G4QPDGCode::GetMass:Z="<<z<<", S=0 is initialized. F="<<iNin0[z]<<G4endl; … … 1110 1117 G4int dNn=n-Nmin; 1111 1118 if(dNn<0) // --> The minimum N must be reduced 1112 1119 { 1113 1120 #ifdef qdebug 1114 1121 if(n<iNmin[z]) … … 1122 1129 else if(dNn<iNL[z]) return VZ0[z][dNn]; // Found in DAM 1123 1130 else // --> The maximum N must be increased 1124 1131 { 1125 1132 #ifdef qdebug 1126 1133 if(dNn>iNmax) … … 1139 1146 } 1140 1147 else if(s==1) // ******************> S=1 nucleus 1141 1148 { 1142 1149 1143 1150 G4int Nmin=iNF[z]; // Minimun N(Z) for the Dynamic Associative Memory (DAM) 1144 1151 if(!iNin1[z]) // ====> This element is already initialized 1145 1152 { 1146 1153 #ifdef idebug 1147 1154 G4cout<<"**>G4QPDGCode::GetMass:Z="<<z<<", S=1 is initialized. F="<<iNin1[z]<<G4endl; … … 1154 1161 G4int dNn=n-Nmin; 1155 1162 if(dNn<0) // --> The minimum N must be reduced 1156 1163 { 1157 1164 #ifdef qdebug 1158 1165 if(n<iNmin[z]) … … 1166 1173 else if(dNn<iNL[z]) return VZ1[z][dNn]; // Found in DAM 1167 1174 else // --> The maximum N must be increased 1168 1175 { 1169 1176 #ifdef qdebug 1170 1177 if(dNn>iNmax) … … 1183 1190 } 1184 1191 else if(s==-1) // ******************> S=-1 nucleus 1185 1192 { 1186 1193 G4int Nmin=iNF[z]; // Minimun N(Z) for the Dynamic Associative Memory (DAM) 1187 1194 if(!iNin9[z]) // ====> This element is already initialized 1188 1195 { 1189 1196 #ifdef idebug 1190 1197 G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=-1 is initialized. F="<<iNin9[z]<<G4endl; … … 1197 1204 G4int dNn=n-Nmin; 1198 1205 if(dNn<0) // --> The minimum N must be reduced 1199 1206 { 1200 1207 #ifdef qdebug 1201 1208 if(n<iNmin[z]) … … 1209 1216 else if(dNn<iNL[z]) return VZ9[z][dNn]; // Found in DAM 1210 1217 else // --> The maximum N must be increased 1211 1218 { 1212 1219 #ifdef qdebug 1213 1220 if(dNn>iNmax) … … 1226 1233 } 1227 1234 else if(s==2) // ******************> S=2 nucleus 1228 1235 { 1229 1236 G4int Nmin=iNF[z]; // Minimun N(Z) for the Dynamic Associative Memory (DAM) 1230 1237 if(!iNin2[z]) // ====> This element is already initialized 1231 1238 { 1232 1239 #ifdef idebug 1233 1240 G4cout<<"**>G4QPDGCode::GetMass:Z="<<z<<", S=2 is initialized. F="<<iNin2[z]<<G4endl; … … 1240 1247 G4int dNn=n-Nmin; 1241 1248 if(dNn<0) // --> The minimum N must be reduced 1242 1249 { 1243 1250 #ifdef qdebug 1244 1251 if(n<iNmin[z]) … … 1252 1259 else if(dNn<iNL[z]) return VZ2[z][dNn]; // Found in DAM 1253 1260 else // --> The maximum N must be increased 1254 1261 { 1255 1262 #ifdef qdebug 1256 1263 if(dNn>iNmax) … … 1269 1276 } 1270 1277 else if(s==-2) // ******************> S=-2 nucleus 1271 1278 { 1272 1279 G4int Nmin=iNF[z]; // Minimun N(Z) for the Dynamic Associative Memory (DAM) 1273 1280 if(!iNin8[z]) // ====> This element is already initialized 1274 1281 { 1275 1282 #ifdef idebug 1276 1283 G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=-2 is initialized. F="<<iNin8[z]<<G4endl; … … 1283 1290 G4int dNn=n-Nmin; 1284 1291 if(dNn<0) // --> The minimum N must be reduced 1285 1292 { 1286 1293 #ifdef qdebug 1287 1294 if(n<iNmin[z]) … … 1295 1302 else if(dNn<iNL[z]) return VZ8[z][dNn]; // Found in DAM 1296 1303 else // --> The maximum N must be increased 1297 1304 { 1298 1305 #ifdef qdebug 1299 1306 if(dNn>iNmax) … … 1312 1319 } 1313 1320 else if(s==-3) // ******************> S=-3 nucleus 1314 1321 { 1315 1322 G4int Nmin=iNF[z]; // Minimun N(Z) for the Dynamic Associative Memory (DAM) 1316 1323 if(!iNin7[z]) // ====> This element is already initialized 1317 1324 { 1318 1325 #ifdef idebug 1319 1326 G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=-3 is initialized. F="<<iNin7[z]<<G4endl; … … 1326 1333 G4int dNn=n-Nmin; 1327 1334 if(dNn<0) // --> The minimum N must be reduced 1328 1335 { 1329 1336 #ifdef qdebug 1330 1337 if(n<iNmin[z]) … … 1338 1345 else if(dNn<iNL[z]) return VZ7[z][dNn]; // Found in DAM 1339 1346 else // --> The maximum N must be increased 1340 1347 { 1341 1348 #ifdef qdebug 1342 1349 if(dNn>iNmax) … … 1355 1362 } 1356 1363 else if(s==3) // ******************> S=3 nucleus 1357 1364 { 1358 1365 G4int Nmin=iNF[z]; // Minimun N(Z) for the Dynamic Associative Memory (DAM) 1359 1366 if(!iNin3[z]) // ====> This element is already initialized 1360 1367 { 1361 1368 #ifdef idebug 1362 1369 G4cout<<"**>G4QPDGCode::GetMass:Z="<<z<<", S=3 is initialized. F="<<iNin3[z]<<G4endl; … … 1369 1376 G4int dNn=n-Nmin; 1370 1377 if(dNn<0) // --> The minimum N must be reduced 1371 1378 { 1372 1379 #ifdef qdebug 1373 1380 if(n<iNmin[z]) … … 1381 1388 else if(dNn<iNL[z]) return VZ3[z][dNn]; // Found in DAM 1382 1389 else // --> The maximum N must be increased 1383 1390 { 1384 1391 #ifdef qdebug 1385 1392 if(dNn>iNmax) … … 1398 1405 } 1399 1406 else if(s==-4) // ******************> S=-4 nucleus 1400 1407 { 1401 1408 G4int Nmin=iNF[z]; // Minimun N(Z) for the Dynamic Associative Memory (DAM) 1402 1409 if(!iNin6[z]) // ====> This element is already initialized 1403 1410 { 1404 1411 #ifdef idebug 1405 1412 G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=-4 is initialized. F="<<iNin6[z]<<G4endl; … … 1412 1419 G4int dNn=n-Nmin; 1413 1420 if(dNn<0) // --> The minimum N must be reduced 1414 1421 { 1415 1422 #ifdef qdebug 1416 1423 if(n<iNmin[z]) … … 1424 1431 else if(dNn<iNL[z]) return VZ6[z][dNn]; // Found in DAM 1425 1432 else // --> The maximum N must be increased 1426 1433 { 1427 1434 #ifdef qdebug 1428 1435 if(dNn>iNmax) … … 1441 1448 } 1442 1449 else if(s==4) // ******************> S=4 nucleus 1443 1450 { 1444 1451 G4int Nmin=iNF[z]; // Minimun N(Z) for the Dynamic Associative Memory (DAM) 1445 1452 if(!iNin4[z]) // ====> This element is already initialized 1446 1453 { 1447 1454 #ifdef idebug 1448 1455 G4cout<<"*>G4QPDGCode::GetMass:Z="<<z<<", S=4 is initialized. F="<<iNin4[z]<<G4endl; … … 1455 1462 G4int dNn=n-Nmin; 1456 1463 if(dNn<0) // --> The minimum N must be reduced 1457 1464 { 1458 1465 #ifdef qdebug 1459 1466 if(n<iNmin[z]) … … 1467 1474 else if(dNn<iNL[z]) return VZ4[z][dNn]; // Found in DAM 1468 1475 else // --> The maximum N must be increased 1469 1476 { 1470 1477 #ifdef qdebug 1471 1478 if(dNn>iNmax) … … 1484 1491 } 1485 1492 else 1486 1493 { 1487 1494 #ifdef qdebug 1488 1495 if(s<Smin || s>Smax) 1489 1496 { 1490 1497 if(s<Smin) Smin=s; 1491 1498 if(s>Smax) Smax=s; … … 1587 1594 //static G4double c[9][9]={// z=1 =2 =3 =4 =5 =6 =7 =8 =9 1588 1595 // {13.136,14.931,25.320,38.000,45.000,55.000,65.000,75.000,85.000},//n=1 1589 //{14.950, 2.425,11.680,18.374,27.870,35.094,48.000,60.000,72.000}, //n=21590 //{25.930,11.390,14.086,15.770,22.921,28.914,39.700,49.000,60.000}, //n=31591 //{36.830,17.594,14.908, 4.942,12.416,15.699,24.960,32.048,45.000}, //n=41592 //{41.860,26.110,20.946,11.348,12.051,10.650,17.338,23.111,33.610}, //n=51593 //{45.000,31.598,24.954,12.607, 8.668, 0.000, 5.345, 8.006,16.780}, //n=61594 //{50.000,40.820,33.050,20.174,13.369, 3.125, 2.863, 2.855,10.680}, //n=71595 //{55.000,48.810,40.796,25.076,16.562, 3.020, 0.101,-4.737,1.9520}, //n=81596 //{60.000,55.000,50.100,33.660,23.664, 9.873, 5.683,-0.809,0.8730}}; //n=91596 // {14.950, 2.425,11.680,18.374,27.870,35.094,48.000,60.000,72.000}, //n=2 1597 // {25.930,11.390,14.086,15.770,22.921,28.914,39.700,49.000,60.000}, //n=3 1598 // {36.830,17.594,14.908, 4.942,12.416,15.699,24.960,32.048,45.000}, //n=4 1599 // {41.860,26.110,20.946,11.348,12.051,10.650,17.338,23.111,33.610}, //n=5 1600 // {45.000,31.598,24.954,12.607, 8.668, 0.000, 5.345, 8.006,16.780}, //n=6 1601 // {50.000,40.820,33.050,20.174,13.369, 3.125, 2.863, 2.855,10.680}, //n=7 1602 // {55.000,48.810,40.796,25.076,16.562, 3.020, 0.101,-4.737,1.9520}, //n=8 1603 // {60.000,55.000,50.100,33.660,23.664, 9.873, 5.683,-0.809,0.8730}}; //n=9 1597 1604 if(z>107) 1598 1605 { 1599 1606 #ifdef debug 1600 1607 G4cout<<"***G4QPDGCode::CalcNuclMass: Z="<<z<<">107, N="<<n<<", S="<<s<<G4endl; … … 1641 1648 return mK; // Simple decision 1642 1649 else if(S>0) // General decision 1643 1650 { 1644 1651 if (-Z>S) return S*mK-(S+Z)*mPi+eps; 1645 1652 else if(Z>=0) return S*mK0+Z*mPi+eps; … … 1647 1654 } 1648 1655 else if(S<0) // General decision 1649 1656 { 1650 1657 if (Z>-S) return -S*mK+(S+Z)*mPi+eps; 1651 1658 else if(Z<=0) return -S*mK0-Z*mPi+eps; … … 1666 1673 else if(!S&&N<0) return mP-mPi*N+eps; // Positive Isonuclei 1667 1674 else if(S==1) // --> General decision 1668 1675 { 1669 1676 if (N>1) return mSm+(N-1)*mPi+eps; // (Sigma-)+(n*PI-) 1670 1677 else if(Z>1) return mSp+(Z-1)*mPi+eps; // (Sigma+)+(n*PI+) 1671 1678 } 1672 1679 else if(S==2) // --> General decision 1673 1680 { 1674 1681 if (N>0) return mXm+N*mPi+eps; // (Xi-)+(n*PI-) 1675 1682 else if(Z>0) return mXz+Z*mPi+eps; // (Xi0)+(n*PI+) 1676 1683 } 1677 1684 else if(S==3) // --> General decision 1678 1685 { 1679 1686 if (N>-1) return mOm+(N+1)*mPi+eps; // (Omega-)+(n*PI-) 1680 1687 else if(Z>-1) return mOm+(Z+1)*mPi+eps; // (Omega-)+(n*PI+) 1681 1688 } 1682 1689 else if(S>3) // --> General Omega- decision 1683 1690 { 1684 1691 if (-Z>S-2) return mOm+(S-3)*mK +(2-Z-S)*mPi+eps; 1685 1692 else if(Z>-1) return mOm+(S-3)*mK0+(Z+1)+mPi+eps; … … 1705 1712 else if(!S&&N<0) return dmP-mPi*N+eps; // Positive Isonuclei 1706 1713 else if(S==1) // --> General decision 1707 1714 { 1708 1715 if (N>2) return dSP+(N-2)*mPi+eps; // (nSigma-)+(n*PI-) 1709 1716 else if(Z>2) return dSN+(Z-1)*mPi+eps; // (pSigma+)+(n*PI+) 1710 1717 } 1711 1718 else if(S==2) // --> General decision 1712 1719 { 1713 1720 if (N>1) return dXN+(N-1)*mPi+eps; // (nXi-)+(n*PI-) 1714 1721 else if(Z>1) return dXP+(Z-1)*mPi+eps; // (pXi0)+(n*PI+) 1715 1722 } 1716 1723 else if(S==3) // --> General decision 1717 1724 { 1718 1725 if (N>0) return dON+N*mPi+eps; // (nOmega-)+(n*PI-) 1719 1726 else if(Z>0) return dOP+Z*mPi+eps; // (pOmega-)+(n*PI+) 1720 1727 } 1721 1728 else if(S>3) // --> General Omega- decision 1722 1729 { 1723 1730 if (-Z>S-2) return dON+(S-3)*mK +(2-Z-S)*mPi+eps; 1724 1731 else if(Z>0) return dOP+(S-3)*mK0+Z+mPi+eps; … … 1727 1734 //else if(S>0) // @@ Implement General Decision 1728 1735 //{ 1729 1730 1731 1736 // //#ifdef debug 1737 // G4cout<<"***G4QPDGCode::GetNuclMass:B=2, Z="<<Z<<",N="<<N<<",S="<<S<<G4endl; 1738 // //#endif 1732 1739 // return bigM; // Exotic dibaryons (?) 1733 1740 //} … … 1760 1767 { 1761 1768 if(Zm>=-S) // Enough charge for K+'s 1762 1769 { 1763 1770 km=-S*mK; // Anti-Lambdas are compensated by protons 1764 1771 Zm+=S; 1765 1772 } 1766 1773 else if(Zm>0) 1767 1774 { 1768 1775 km=Zm*mK-(S+Zm)*mK0; // Anti-Lambdas are partially compensated by neutrons 1769 1776 Zm=0; … … 1779 1786 G4int bH=-S-sH; // BigHalhS || as in G4QE::DecayAntiStrange 1780 1787 if(Z>0 && Z>N) 1781 1788 { 1782 1789 if(Z>=bH) // => "Enough protons in nucleus" case 1783 1790 { 1784 1791 if(N>=sH) 1785 1792 { … … 1823 1830 } 1824 1831 } 1825 1832 } 1826 1833 else // Must not be here 1827 1834 { 1828 1835 #ifdef debug 1829 1836 G4cout<<"***G4QPDGC::CalcNuclMass:Antimatter? Z="<<Z<<",N="<<N<<",S="<<S<<G4endl; 1830 1837 #endif 1831 1838 return 0.; // @@ Antiparticles aren't implemented @@ 1832 1833 1839 } 1840 } 1834 1841 else if(N>=bH) 1835 1842 { 1836 1843 if(Z>=sH) 1837 1844 { … … 1875 1882 } 1876 1883 } 1877 1884 } 1878 1885 else // Must not be here 1879 1886 { 1880 1887 return 0.; // @@ Antiparticles aren't implemented @@ 1881 1888 #ifdef debug 1882 1889 G4cout<<"***G4QPDGC::CalcNuclMass:Antimatter? N="<<N<<",Z="<<Z<<",S="<<S<<G4endl; 1883 1890 #endif 1884 1891 } 1885 1892 S=0; 1886 1893 } … … 1923 1930 //else if(A==256 && Z==128) m=256000.; 1924 1931 //else 1925 //m=k+G4ParticleTable::GetParticleTable()->FindIon(Z,A,0,Z)->GetPDGMass();1926 1932 // m=k+G4ParticleTable::GetParticleTable()->FindIon(Z,A,0,Z)->GetPDGMass(); 1933 //m+=-sh[Z]-sh[N]+b1*D*D*pow(fA,b2)+b3*(1.-2./(1.+exp(b4*D)))+Z*Z*(b5*pow(fA,b9)+b6/fA); 1927 1934 } 1928 1935 //@@//G4double maxM= k+Z*mP+N*mN+S*mL+eps; // @@ eps -- Wings of the Mass parabola … … 1950 1957 { // @@ Can be generalized to anti-nuclei 1951 1958 #ifdef debug 1952 G4cerr<<"* *G4QPDGCode::CalcNucM:A="<<Am<<"<1 || Z="<<Zm<<"<0 || N="<<Nm<<"<0"<<G4endl;1959 G4cerr<<"*G4QPDGCode::CalcNucM:A="<<Am<<"<1 || Z="<<Zm<<"<0 || N="<<Nm<<"<0"<<G4endl; 1953 1960 #endif 1954 1961 } … … 1965 1972 // mm=km+G4NucleiProperties::GetNuclearMass(Am,Zm); 1966 1973 //else 1967 1968 1974 // mm=km+G4ParticleTable::GetParticleTable()->FindIon(Zm,Am,0,Zm)->GetPDGMass(); 1975 // //mm+=-sh[Zm]-sh[Nm]+b1*Dm*Dm*pow(fA,b2)+b3*(1.-2./(1.+exp(b4*Dm))) 1969 1976 // // +Zm*Zm*(b5*pow(fA,b9)+b6/Am); 1970 1977 } … … 2020 2027 if (ab==22) G4cout<<"-W-G4QPDGC::GetQuarkCont: For the Photon? - Return 0"<<G4endl; 2021 2028 else if(ab==10) G4cout<<"-W-G4QPDGC::GetQuarkCont: For Chipolino? - Return 0"<<G4endl; 2022 2029 else G4cout<<"-W-G4QPDGCode::GetQuarkCont: For PDG="<<thePDGCode<<" Return 0"<<G4endl; 2023 2030 #endif 2024 2031 return G4QContent(0,0,0,0,0,0); // Photon, bosons, leptons … … 2031 2038 G4int t=0; // (3)prototype of highest quark (B) 2032 2039 #ifdef sdebug 2033 2040 G4cout<<"G4QPDGCode::GetQuarkContent: a="<<ab<<", c="<<c<<", f="<<f<<", v="<<v<<G4endl; 2034 2041 #endif 2035 2042 if(v>10) // Baryons 2036 2043 { 2037 2044 t=v/10; // (3) highest quark 2038 2045 v%=10; // (2) high quark 2039 2046 if (f==1) 2040 2047 { 2041 2048 if(a) ad++; 2042 2049 else d++; 2043 2050 } 2044 2051 else if(f==2) 2045 2052 { 2046 2053 if(a) au++; 2047 2054 else u++; 2048 2055 } 2049 2056 else if(f==3) 2050 2057 { 2051 2058 if(a) as++; 2052 2059 else s++; 2053 2054 else G4cerr<<"* **G4QPDGCode::GetQContent:1 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;2060 } 2061 else G4cerr<<"*G4QPDGC::GetQCont:1 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl; 2055 2062 if (v==1) 2056 2063 { 2057 2064 if(a) ad++; 2058 2065 else d++; 2059 2066 } 2060 2067 else if(v==2) 2061 2068 { 2062 2069 if(a) au++; 2063 2070 else u++; 2064 2071 } 2065 2072 else if(v==3) 2066 2073 { 2067 2074 if(a) as++; 2068 2075 else s++; 2069 2070 else G4cerr<<"* **G4QPDGCode::GetQContent:2 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;2076 } 2077 else G4cerr<<"*G4QPDGC::GetQCont:2 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl; 2071 2078 if (t==1) 2072 2079 { 2073 2080 if(a) ad++; 2074 2081 else d++; 2075 2082 } 2076 2083 else if(t==2) 2077 2084 { 2078 2085 if(a) au++; 2079 2086 else u++; 2080 2087 } 2081 2088 else if(t==3) 2082 2089 { 2083 2090 if(a) as++; 2084 2091 else s++; 2085 2086 else G4cerr<<"* **G4QPDGCode::GetQCont:3 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;2092 } 2093 else G4cerr<<"*G4QPDGC::GetQCont:3 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl; 2087 2094 return G4QContent(d,u,s,ad,au,as); 2088 2095 } 2089 2096 else // Mesons 2090 2097 { 2091 2098 if(f==v) 2092 2099 { 2093 2100 if (f==1) return G4QContent(1,0,0,1,0,0); 2094 2101 else if(f==2) return G4QContent(0,1,0,0,1,0); 2095 2102 else if(f==3) return G4QContent(0,0,1,0,0,1); 2096 else G4cerr<<"* **G4QPDGCode::GetQCont:4 PDG="<<thePDGCode<<",i="<<f<<","<<v<<","<<t<<G4endl;2097 2103 else G4cerr<<"*G4QPDGC::GetQC:4 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl; 2104 } 2098 2105 else 2099 2106 { 2100 2107 if (f==1 && v==2) 2101 2108 { … … 2113 2120 else return G4QContent(0,1,0,0,0,1); 2114 2121 } 2115 else G4cerr<<"* **G4QPDGCode::GetQCont:5 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl;2116 2117 2122 else G4cerr<<"*G4QPDGC::GetQC:5 PDG="<<thePDGCode<<","<<f<<","<<v<<","<<t<<G4endl; 2123 } 2124 } 2118 2125 } 2119 2126 else … … 2214 2221 if(theQCode<fragmStart) return 7; 2215 2222 G4int sub=theQCode-fragmStart; 2216 if ( (sub > 1 && sub < 8) || sub == 15) return 7; //@@Why they are in clusters?-Residuals(?)2223 if ( (sub > 1 && sub < 8) || sub == 15) return 7;//Why they are in clusters?-Residuals(?) 2217 2224 G4int rel=sub; // case of nuclear baryons and isonuclei 2218 2225 if (sub>31)rel =(sub-32)%15; // case of heavy fragments (BaryNum>3) … … 2278 2285 { 2279 2286 G4int shiftQ=GetRelCrossIndex(i, o); 2280 G4int sQCode=theQCode; 2281 if (shiftQ==7) return 0; 2282 else if(!shiftQ) sQCode+=shiftQ; 2283 G4QPDGCode parent; 2284 parent.InitByQCode(sQCode); 2285 G4QContent parentQC=parent.GetQuarkContent(); 2287 G4int sQCode=theQCode; // QCode of the parent cluster 2288 if (shiftQ==7) return 0; // A parent cluster doesn't exist 2289 else if(!shiftQ) sQCode+=shiftQ; // Shift QCode of son to QCode of his parent 2290 G4QPDGCode parent; // Create a temporary (fake) parent cluster 2291 parent.InitByQCode(sQCode); // Initialize it by Q-Code 2292 G4QContent parentQC=parent.GetQuarkContent();// Quark Content of the parent cluster 2286 2293 if (!o) return parentQC.GetD(); 2287 2294 else if(o==1) return parentQC.GetU(); … … 2324 2331 { 2325 2332 if(cz>500000) cz-=1000000; // AntiProtons 2326 2333 z=cz/1000; // Number of protons 2327 2334 r-=cz; // Subtract them from the residual 2328 2335 if(r==90000000) return; … … 2332 2339 { 2333 2340 if(cs>5000000) cs-=10000000; // AntiLambda 2334 2341 s=cs/1000000; // Number of Lambdas 2335 2342 } 2336 2343 }
Note: See TracChangeset
for help on using the changeset viewer.