Changeset 1055 for trunk/source/processes/hadronic/models/neutron_hp
- Timestamp:
- May 28, 2009, 4:26:57 PM (15 years ago)
- Location:
- trunk/source/processes/hadronic/models/neutron_hp
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/neutron_hp/History
r962 r1055 14 14 * Please list in reverse chronological order (last date on top) 15 15 --------------------------------------------------------------- 16 17 14 May 2009 Tatsumi Koi (hadr-hpn-V09-02-00) 18 - Fix bug in IC electron emissions: Contribution from Chao Zhang (Chao.Zhang@usd.edu) and Dongming Mei(Dongming.Mei@usd.edu) 19 G4NeutronHPPhotonDist.cc 20 G4NeutronHPInelasticCompFS.cc 16 21 17 22 3 December 2008 Tatsumi Koi (hadr-hpn-V09-01-28) -
trunk/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticCompFS.cc
r962 r1055 36 36 // introduce theNDLDataA,Z which has A and Z of NDL data by T. Koi 37 37 // 081024 G4NucleiPropertiesTable:: to G4NucleiProperties:: 38 // 090514 Fix bug in IC electron emission case 39 // Contribution from Chao Zhang (Chao.Zhang@usd.edu) and Dongming Mei(Dongming.Mei@usd.edu) 38 40 // 39 41 #include "G4NeutronHPInelasticCompFS.hh" … … 69 71 void G4NeutronHPInelasticCompFS::Init (G4double A, G4double Z, G4String & dirName, G4String & aFSType) 70 72 { 73 71 74 gammaPath = "/Inelastic/Gammas/"; 72 75 if(!getenv("G4NEUTRONHPDATA")) … … 460 463 461 464 aHadron.SetMomentum( Vector*p ); 462 465 463 466 } 464 467 … … 577 580 { 578 581 theSec = new G4DynamicParticle; 579 theSec->SetDefinition(G4Gamma::Gamma()); 582 //Bug reported Chao Zhang (Chao.Zhang@usd.edu), Dongming Mei(Dongming.Mei@usd.edu) Feb. 25, 2009 583 //theSec->SetDefinition(G4Gamma::Gamma()); 584 theSec->SetDefinition( thePhotons->operator[](i)->GetDefinition() ); 585 //But never cause real effect at least with G4NDL3.13 TK 580 586 theSec->SetMomentum(thePhotons->operator[](i)->GetMomentum()); 581 587 theResult.AddSecondary(theSec); -
trunk/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPPhotonDist.cc
r962 r1055 36 36 // 080801 Correcting data disorder which happened when both InitPartial 37 37 // and InitAnglurar methods was called in a same instance by T. Koi 38 // 090514 Fix bug in IC electron emission case 39 // Contribution from Chao Zhang (Chao.Zhang@usd.edu) and Dongming Mei(Dongming.Mei@usd.edu) 40 // But it looks like never cause real effect in G4NDL3.13 (at least Natural elements) TK 38 41 // 39 42 // there is a lot of unused (and undebugged) code in this file. Kept for the moment just in case. @@ … … 48 51 G4bool G4NeutronHPPhotonDist::InitMean(std::ifstream & aDataFile) 49 52 { 53 50 54 G4bool result = true; 51 55 if(aDataFile >> repFlag) 52 56 { 57 53 58 aDataFile >> targetMass; 54 59 if(repFlag==1) … … 73 78 theBaseEnergy*=eV; 74 79 aDataFile >> theInternalConversionFlag; 80 // theInternalConversionFlag == 1 No IC, theInternalConversionFlag == 2 with IC 75 81 aDataFile >> nGammaEnergies; 76 82 theLevelEnergies = new G4double[nGammaEnergies]; … … 118 124 if (isoFlag != 1) 119 125 { 126 if ( repFlag == 2 ) G4cout << "TKDB repFlag == 2 && isoFlag !=1 " << G4endl; 120 127 aDataFile >> tabulationType >> nDiscrete2 >> nIso; 121 128 //080731 … … 547 554 { 548 555 theOne->SetDefinition(G4Electron::Electron()); 556 //Bug reported Chao Zhang (Chao.Zhang@usd.edu), Dongming Mei(Dongming.Mei@usd.edu) Feb. 25, 2009 557 //But never enter at least with G4NDL3.13 558 totalEnergy += G4Electron::Electron()->GetPDGMass(); //proposed correction: add this line for electron 549 559 } 550 560 theOne->SetTotalEnergy(totalEnergy); 551 if( isoFlag == 1 )561 if( isoFlag == 1 ) 552 562 { 553 563 G4double costheta = 2.*G4UniformRand()-1; … … 555 565 G4double phi = twopi*G4UniformRand(); 556 566 G4double sinth = std::sin(theta); 557 G4double en = theOne->GetTotalEnergy(); 567 //Bug reported Chao Zhang (Chao.Zhang@usd.edu), Dongming Mei(Dongming.Mei@usd.edu) Feb. 25, 2009 568 //G4double en = theOne->GetTotalEnergy(); 569 G4double en = theOne->GetTotalMomentum(); 570 //But never cause real effect at least with G4NDL3.13 TK 558 571 G4ThreeVector temp(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) ); 559 572 theOne->SetMomentum( temp ) ; … … 569 582 if(ii<nIso) 570 583 { 584 //Bug reported Chao Zhang (Chao.Zhang@usd.edu), Dongming Mei(Dongming.Mei@usd.edu) Feb. 25, 2009 571 585 // isotropic distribution 572 G4double theta = pi*G4UniformRand(); 586 //G4double theta = pi*G4UniformRand(); 587 G4double theta = std::acos(2.*G4UniformRand()-1.); 588 //But this is alos never cause real effect at least with G4NDL3.13 TK not repFlag == 2 AND isoFlag != 1 573 589 G4double phi = twopi*G4UniformRand(); 574 590 G4double sinth = std::sin(theta); 575 G4double en = theOne->GetTotalEnergy(); 591 //Bug reported Chao Zhang (Chao.Zhang@usd.edu), Dongming Mei(Dongming.Mei@usd.edu) Feb. 25, 2009 592 //G4double en = theOne->GetTotalEnergy(); 593 G4double en = theOne->GetTotalMomentum(); 594 //But never cause real effect at least with G4NDL3.13 TK 576 595 G4ThreeVector tempVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) ); 577 596 theOne->SetMomentum( tempVector ) ; … … 594 613 G4double phi = twopi*G4UniformRand(); 595 614 G4double sinth = std::sin(theta); 596 G4double en = theOne->GetTotalEnergy(); 615 //Bug reported Chao Zhang (Chao.Zhang@usd.edu), Dongming Mei(Dongming.Mei@usd.edu) Feb. 25, 2009 616 //G4double en = theOne->GetTotalEnergy(); 617 G4double en = theOne->GetTotalMomentum(); 618 //But never cause real effect at least with G4NDL3.13 TK 597 619 G4ThreeVector tempVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) ); 598 620 theOne->SetMomentum( tempVector ) ; … … 612 634 G4double phi = twopi*G4UniformRand(); 613 635 G4double sinth = std::sin(theta); 614 G4double en = theOne->GetTotalEnergy(); 636 //Bug reported Chao Zhang (Chao.Zhang@usd.edu), Dongming Mei(Dongming.Mei@usd.edu) Feb. 25, 2009 637 //G4double en = theOne->GetTotalEnergy(); 638 G4double en = theOne->GetTotalMomentum(); 639 //But never cause real effect at least with G4NDL3.13 TK 615 640 G4ThreeVector tmpVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*costh ); 616 641 theOne->SetMomentum( tmpVector ) ;
Note: See TracChangeset
for help on using the changeset viewer.