In G4ReactionDynamics::GenerateXandPt the nucleon counting is incorrect. When adding particles from the intranuclear cascade, the neutrons and protons need to accounted for separately. This also applies to the AddBlackTrackParticles method where only the nucleon mass is considered but not the charge of the nucleon. Also in GenerateXandPt the method MomentumCheck (at the end of GenerateXandPt) should not be used. This method prohibits an outgoing particle from having more momentum than it had originally. However, this case is physically possible and its removal cuts off the edges of some distributions.
see bug 374 for applicable comments.
nucleons are now accounted for correctly, and the MomentumCheck was indeed a fudge. They are not accounted for separately, though, for the time being, as the determination of the black-track particle algorithm for the time being introduces a still larger error. It stays on the list, to be done once BTP is dealt with. Thank you for reporting this. Many greetings, Hans-Peter.