Changeset 1315 for trunk/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPEnAngCorrelation.cc
- Timestamp:
- Jun 18, 2010, 11:42:07 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPEnAngCorrelation.cc
r962 r1315 28 28 // A prototype of the low energy neutron transport model. 29 29 // 30 // 100413 Fix bug in incidence energy by T. Koi 31 // 30 32 #include "G4NeutronHPEnAngCorrelation.hh" 31 33 #include "G4LorentzRotation.hh" 32 34 #include "G4LorentzVector.hh" 35 #include "G4RotationMatrix.hh" 33 36 34 37 G4ReactionProduct * G4NeutronHPEnAngCorrelation::SampleOne(G4double anEnergy) … … 67 70 { 68 71 // simplify and double check @ 69 G4ThreeVector the3Neutron = theNeutron.GetMomentum(); 72 G4ThreeVector the3Neutron = theNeutron.GetMomentum(); //theNeutron has value in LAB 70 73 G4double nEnergy = theNeutron.GetTotalEnergy(); 71 G4ThreeVector the3Target = theTarget.GetMomentum(); 74 G4ThreeVector the3Target = theTarget.GetMomentum(); //theTarget has value in LAB 72 75 G4double tEnergy = theTarget.GetTotalEnergy(); 73 76 G4double totE = nEnergy+tEnergy; … … 80 83 G4ReactionProduct aNeutron; 81 84 aNeutron.Lorentz(theNeutron, theCMS); 82 anEnergy = aNeutron.GetKineticEnergy(); 85 //TKDB 100413 86 //ENDF-6 Formats Manual ENDF-102 87 //CHAPTER 6. FILE 6: PRODUCT ENERGY-ANGLE DISTRIBUTIONS 88 //LCT Reference system for secondary energy and angle (incident energy is always given in the LAB system) 89 //anEnergy = aNeutron.GetKineticEnergy(); 90 anEnergy = theNeutron.GetKineticEnergy(); //should be same argumment of "anEnergy" 83 91 84 92 G4LorentzVector Ptmp (aNeutron.GetMomentum(), aNeutron.GetTotalEnergy()); 93 85 94 toZ.rotateZ(-1*Ptmp.phi()); 86 95 toZ.rotateY(-1*Ptmp.theta()); 87 88 96 } 89 97 theTotalMeanEnergy=0; 90 G4LorentzRotation toLab(toZ.inverse()); 98 G4LorentzRotation toLab(toZ.inverse()); //toLab only change axis NOT to LAB system 91 99 for(i=0; i<nProducts; i++) 92 100 { … … 110 118 it->operator[](ii)->SetMomentum(pTmp1.vect()); 111 119 it->operator[](ii)->SetTotalEnergy(pTmp1.e()); 112 if(frameFlag==1) // target rest 120 if(frameFlag==1) // target rest //TK 100413 should be LAB? 113 121 { 114 it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*theTarget); 122 it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*theTarget); //TK 100413 Is this really need? 115 123 } 116 124 else if(frameFlag==2) // CMS
Note: See TracChangeset
for help on using the changeset viewer.