43 G4bool& incidentHasChanged,
61 G4double cmEnergy = std::sqrt( mOriginal*mOriginal + targetMass*targetMass +
62 2.0*targetMass*etOriginal );
63 G4double eAvailable = cmEnergy - mOriginal - targetMass;
64 for (
G4int i = 0; i < vecLen; i++) eAvailable -= vec[i]->GetMass()/
GeV;
95 if (eAvailable > nucleonMass - piMass) {
100 incidentHasChanged =
true;
111 if (eAvailable > nucleonMass - piMass) {
116 targetHasChanged =
true;
120 for(
G4int i=0; i<vecLen; ++i )
123 vec[i]->GetDefinition() == aPiPlus ||
124 vec[i]->GetDefinition() == aPiZero ||
125 vec[i]->GetDefinition() == aPiMinus ) &&
129 if (eAvailable > nucleonMass - piMass) {
131 vec[i]->SetDefinitionAndUpdateE( aNeutron );
133 vec[i]->SetDefinitionAndUpdateE( aProton );