Import Geant4 10.5.1 source tree
This commit is contained in:
@@ -266,24 +266,24 @@ void G4hCoulombScatteringModel::SampleSecondaries(
|
||||
wokvi->SampleSingleScattering(costmin, costmax, ratio);
|
||||
|
||||
// kinematics in the Lab system
|
||||
G4double ptot = dp->GetTotalMomentum();
|
||||
G4double e1 = dp->GetTotalEnergy();
|
||||
G4double ptot = sqrt(kinEnergy*(kinEnergy + 2.0*mass));
|
||||
G4double e1 = mass + kinEnergy;
|
||||
|
||||
// Lab. system kinematics along projectile direction
|
||||
G4LorentzVector v0 = G4LorentzVector(0, 0, ptot, e1 + mass2);
|
||||
G4double bet = ptot/v0.e();
|
||||
G4double gam = 1.0/sqrt((1.0 - bet)*(1.0 + bet));
|
||||
|
||||
G4LorentzVector v0 = G4LorentzVector(0, 0, ptot, e1+mass2);
|
||||
G4LorentzVector v1 = G4LorentzVector(0, 0, ptot, e1);
|
||||
G4ThreeVector bst = v0.boostVector();
|
||||
v1.boost(-bst);
|
||||
// CM projectile
|
||||
G4double momCM = gam*(ptot - bet*e1);
|
||||
G4double eCM = gam*(e1 - bet*ptot);
|
||||
// energy & momentum after scattering of incident particle
|
||||
G4double pxCM = momCM*newDirection.x();
|
||||
G4double pyCM = momCM*newDirection.y();
|
||||
G4double pzCM = momCM*newDirection.z();
|
||||
G4double momCM = v1.pz();
|
||||
|
||||
// Momentum after scattering of incident particle
|
||||
v1.setX(momCM*newDirection.x());
|
||||
v1.setY(momCM*newDirection.y());
|
||||
v1.setZ(momCM*newDirection.z());
|
||||
|
||||
// CM--->Lab
|
||||
G4LorentzVector v1(pxCM , pyCM, gam*(pzCM + bet*eCM), gam*(eCM + bet*pzCM));
|
||||
v1.boost(bst);
|
||||
|
||||
G4ThreeVector dir = dp->GetMomentumDirection();
|
||||
newDirection = v1.vect().unit();
|
||||
@@ -293,7 +293,7 @@ void G4hCoulombScatteringModel::SampleSecondaries(
|
||||
|
||||
// recoil
|
||||
v0 -= v1;
|
||||
G4double trec = v0.e() - mass2;
|
||||
G4double trec = std::max(v0.e() - mass2, 0.0);
|
||||
G4double edep = 0.0;
|
||||
|
||||
G4double tcut = recoilThreshold;
|
||||
|
||||
Reference in New Issue
Block a user