Support compilation against Geant4 11.0 and 11.1

Merged Benjamin Morgan requested to merge bmorgan/athena:update-simulation-geant4-11 into 23.0

For further simulation tests, optimisations and functionality, we'd like to try out the newer Geant4 11.1 version (ATLASSIM-6148). This MR provides fixes to account for API changes since the currently used 10.6 version. Existing calls and behaviour are retaining vis conditional compilation based on the G4VERSION_NUMBER macro. The most relevant changes are:

  • Migrate from use of G4String functions to std::string or G4StrUtil equivalents.
  • AFP_G4_SD: extracting energy range from material properties
  • LUCID_OpProcesses: no longer need to set scintillation yield factor
  • Monopole: Use new member function signatures for G4VEmModel/G4VEmFluctuationModel. No apparent update needed in implementations
  • RHadrons: replace G4HadReentrentException with G4HadronicException
  • G4PhysicsLists: Replace capture and inelastion processes/cross sections with general processes per 11.0 release notes guide.

Changes are not expected to affect configuration, behaviour, or output when using currently supported Geant4 version (10.6) given the conditional compilation, though this has only been confirmed with a small sample run.

Marked as Draft until next sign off of current simulation per info from @mbandier and @jchapman.

Edited by John Derek Chapman

Merge request reports