Early steps to migrate Generators code to use IAthRNGSvc
The main purpose of this merge request is to allow Generator interfaces to use 64-bit random seeds and in so doing properly support seeding using larger event numbers INT_MAX
. This is a deliverable for MC23.
All Generators have been migrated to use the thread-safe IAthRNGSvc
. However, currently all generators are only run in serial Athena. In order to avoid excessive calls to Gaudi::Hive::currentContext()
, the approach taken to interface the random number calls of the various generators with the CLHEP::HepRandomEngine
instance(s) provided by IAthRNGSvc
is unfortunately still very much thread-unsafe.
Suggestions for a more thread-safe interface are very much welcomed, but we would prefer to leave this for a follow-up merge request.