In G4ReactionDynamics::TwoCluster the neutrons and protons need to be accounted for separately in order to get charge and energy conservation. The same is true in the AddBlackTrackParticles method which only accounts for average nucleon mass. The MomentumCheck routine should be removed since it is possible for a particle to have more momentum after a reaction than it did before the reaction. It looks like this routine was put in to correct an earlier error in the momentum sampling. The angular distribution in TwoCluster has a large backward peak which is not right. Currently cos(theta) is sampled from t = (1/b)log(1 - random). It should be sampled from t = (1/b)log(1 - factor*random) where factor is 1 - exp(b*(tacmin-dumnve)). This guarantees a proper behavior around 180 degrees.
ok. Part 2 will be fast, part 1 will come once the oszillation stuff is ready.
it turns out that twocluster has rather more to fix than you mentionned. This will become an active thread for some time, and work has started. Tank you for getting me onto this one. Many greetings, Hans-Peter.
Parts one and two have been fixed. Part three (angular distribution) will not be fixed because it would upset the parameterization of the model. When a new parameterized model is developed, this will be done correctly.