Make PunchThroughTool thread-safe
This merge request removes the usage of the old non-thread-safe IAtRndmGenSvc random number services from the PunchThroughTool.
It now takes a pointer to a CLHEP::HepRandomEngine
as an argument to the computePunchThroughParticles
method instead. The PDFCreator
class has also been updated to take a pointer to a CLHEP::HepRandomEngine
as an argument getRand
method rather than caching it as a member variable.
In order to clean this up a bit further this merge request also updates the ISimulatorTool::setupEvent
and ISimulatorTool::releaseEvent
to take the EventContext
as an argument so that it can be passed to the RNGWrapper
class. (Future work to do the same for the simulate/simulateVector
methods.)
This will change the ATLFAST3 output as different random seeding will now be used for the PunchThroughTool.