Skip to content

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.

Edited by John Derek Chapman

Merge request reports