From a9a3cca9f34e4e27c3ca882b14d55ddbb994732b Mon Sep 17 00:00:00 2001 From: Markus Frank <Markus.Frank@cern.ch> Date: Fri, 12 Nov 2021 15:24:25 +0100 Subject: [PATCH] Fix compatibility issues with Geant4 11. See issue in githib: https://github.com/AIDASoft/DD4hep/issues/881 --- DDG4/plugins/Geant4Processes.cpp | 40 +++++++++++++++++++-- DDG4/plugins/Geant4ScintillationPhysics.cpp | 9 +++++ examples/CMakeLists.txt | 2 +- 3 files changed, 48 insertions(+), 3 deletions(-) diff --git a/DDG4/plugins/Geant4Processes.cpp b/DDG4/plugins/Geant4Processes.cpp index fbe5f3f22..678c8c5d9 100644 --- a/DDG4/plugins/Geant4Processes.cpp +++ b/DDG4/plugins/Geant4Processes.cpp @@ -103,8 +103,10 @@ DECLARE_GEANT4_PROCESS(G4CoulombScattering) DECLARE_GEANT4_PROCESS(G4PolarizedCompton) #include "G4PolarizedGammaConversion.hh" DECLARE_GEANT4_PROCESS(G4PolarizedGammaConversion) + +#if G4VERSION_NUMBER < 1100 #include "G4PolarizedPhotoElectricEffect.hh" -DECLARE_GEANT4_PROCESS(G4PolarizedPhotoElectricEffect) +DECLARE_GEANT4_PROCESS(G4ePolarizedPhotoElectricEffect) #include "G4ePolarizedBremsstrahlung.hh" DECLARE_GEANT4_PROCESS(G4ePolarizedBremsstrahlung) #include "G4ePolarizedIonisation.hh" @@ -112,6 +114,33 @@ DECLARE_GEANT4_PROCESS(G4ePolarizedIonisation) #include "G4eplusPolarizedAnnihilation.hh" DECLARE_GEANT4_PROCESS(G4eplusPolarizedAnnihilation) +#else +#include "G4PolarizedAnnihilation.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedAnnihilation) +#include "G4PolarizedAnnihilationXS.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedAnnihilationXS) +#include "G4PolarizedBremsstrahlung.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedBremsstrahlung) +#include "G4PolarizedCompton.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedCompton) +#include "G4PolarizedComptonXS.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedComptonXS) +#include "G4PolarizedGammaConversion.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedGammaConversion) +#include "G4PolarizedGammaConversionXS.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedGammaConversionXS) +#include "G4PolarizedIonisation.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedIonisation) +#include "G4PolarizedIonisationBhabhaXS.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedIonisationBhabhaXS) +#include "G4PolarizedIonisationMollerXS.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedIonisationMollerXS) +#include "G4PolarizedPhotoElectric.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedPhotoElectric) +#include "G4PolarizedPhotoElectricXS.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedPhotoElectricXS) +#endif + // Processes for simulation of X-rays and optical protons production by charged particles #include "G4SynchrotronRadiation.hh" DECLARE_GEANT4_PROCESS(G4SynchrotronRadiation) @@ -184,6 +213,7 @@ DECLARE_GEANT4_PROCESS(G4BraggNoDeltaModel) DECLARE_GEANT4_PROCESS(G4ChipsElasticModel) #include "G4DNABornExcitationModel.hh" DECLARE_GEANT4_PROCESS(G4DNABornExcitationModel) + #include "G4eBremParametrizedModel.hh" DECLARE_GEANT4_PROCESS(G4eBremParametrizedModel) #include "G4eBremsstrahlungRelModel.hh" @@ -208,8 +238,15 @@ DECLARE_GEANT4_PROCESS(G4ecpssrFormFactorLixsModel) DECLARE_GEANT4_PROCESS(G4ecpssrFormFactorMixsModel) #include "G4EmMultiModel.hh" DECLARE_GEANT4_PROCESS(G4EmMultiModel) + +#if G4VERSION_NUMBER < 1100 #include "G4ePolarizedBremsstrahlungModel.hh" DECLARE_GEANT4_PROCESS(G4ePolarizedBremsstrahlungModel) +#else +#include "G4PolarizedBremsstrahlungModel.hh" +DECLARE_GEANT4_PROCESS(G4PolarizedBremsstrahlungModel) +#endif + #include "G4FTFModel.hh" DECLARE_GEANT4_PROCESS(G4FTFModel) #include "G4GoudsmitSaundersonMscModel.hh" @@ -241,7 +278,6 @@ DECLARE_GEANT4_PROCESS(G4ICRU73QOModel) #endif - #if 0 #include ".hh" DECLARE_GEANT4_PROCESS() diff --git a/DDG4/plugins/Geant4ScintillationPhysics.cpp b/DDG4/plugins/Geant4ScintillationPhysics.cpp index d28c597c6..fe31b8378 100644 --- a/DDG4/plugins/Geant4ScintillationPhysics.cpp +++ b/DDG4/plugins/Geant4ScintillationPhysics.cpp @@ -40,6 +40,15 @@ #if G4VERSION_NUMBER >= 1070 #include "G4OpticalParameters.hh" + +/// This is a beta release problem: +#if G4VERSION_NUMBER == 1100 +#include "G4OpticalParameters.hh" +#pragma message("Geant4 version 11 beta: temporary fix to be removed!") +void G4OpticalParameters::SetScintExcitationRatio(double) {} +void G4OpticalParameters::SetScintYieldFactor(double) {} +#endif + #endif #include "G4Scintillation.hh" diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index c50637a1e..23b87c2a6 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -41,7 +41,7 @@ dd4hep_configure_output() #========================================================================== -SET(DD4HEP_EXAMPLES "AlignDet CLICSiD ClientTests Conditions DDCMS DDCodex DDDigi DDG4 DDG4_MySensDet LHeD OpticalSurfaces Persistency DDCAD SimpleDetector DDHMB" +SET(DD4HEP_EXAMPLES "AlignDet CLICSiD ClientTests Conditions DDCMS DDCodex DDDigi DDG4 DDG4_MySensDet LHeD OpticalSurfaces Persistency DDCAD SimpleDetector" CACHE STRING "List of DD4hep Examples to build") SEPARATE_ARGUMENTS(DD4HEP_EXAMPLES) -- GitLab