Skip to content

Early steps to migrate Generators code to use IAthRNGSvc

John Derek Chapman requested to merge jchapman/athena:GenModuleRNG_master into master

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.

Edited by John Derek Chapman

Merge request reports