Improved Random number Seeding for ParticleGun
Previously the ParticleGun
single particle generator used the inital seed value taken from the (thread-unsafe) random number service Configurable
to set the seed for the python random number generator during initialize. No per-event reseeding was done. This has been replaced by using the same random seed calculation as in C++ (via a wrapper function) and re-seeding the python random number generator every event. This means that the dependence on the random number service itself is no longer required.
This is a prerequisite for running ParticleGun
in ComponentAccumulator-based jobs.
Tagging @ewelina.