105 G4double Theta = std::acos(cosTheta);
108 G4ThreeVector pFinal1(std::sin(Theta)*std::cos(phi), std::sin(Theta)*std::sin(phi), cosTheta);
110 G4double pInCM = std::sqrt((S-(m10+m20)*(m10+m20))*(S-(m10-m20)*(m10-m20))/(4.*S));
111 pFinal1 = pFinal1 * pInCM;
121 p4Final1 *= toLabFrame;
122 p4Final2 *= toLabFrame;
131 finalTracks->push_back(final1);
132 finalTracks->push_back(final2);
const G4LorentzVector & Get4Momentum() const
virtual G4KineticTrackVector * FinalState(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
const G4ParticleDefinition * GetDefinition() const
static G4Proton * Proton()
G4double GetPDGMass() const
HepLorentzRotation & rotateZ(double delta)
virtual G4double Phi() const
G4double GetActualMass() const
virtual ~G4VElasticCollision()
HepLorentzRotation inverse() const
static G4Neutron * Neutron()
virtual G4double CosTheta(G4double s, G4double m1, G4double m2) const =0
virtual const G4VAngularDistribution * GetAngularDistribution() const =0
Hep3Vector boostVector() const
HepLorentzRotation & rotateY(double delta)
void Set4Momentum(const G4LorentzVector &a4Momentum)