From f01572a64d3a87b05779e07f6d1fb00daa259521 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Mon, 4 Aug 2025 14:02:30 +0200 Subject: [PATCH 1/3] Added access to Geant4 StepperType --- SimG4Core/MagneticField/interface/FieldStepper.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/SimG4Core/MagneticField/interface/FieldStepper.h b/SimG4Core/MagneticField/interface/FieldStepper.h index 4853719b91a47..6d82f3033aeb1 100644 --- a/SimG4Core/MagneticField/interface/FieldStepper.h +++ b/SimG4Core/MagneticField/interface/FieldStepper.h @@ -3,6 +3,10 @@ #include "G4MagIntegratorStepper.hh" +#if G4VERSION_NUMBER >= 1132 +#include "G4FieldParameters.hh" +#endif + class G4Mag_UsualEqRhs; class FieldStepper : public G4MagIntegratorStepper { @@ -15,6 +19,10 @@ class FieldStepper : public G4MagIntegratorStepper { G4double DistChord() const override; G4int IntegratorOrder() const override; +#if G4VERSION_NUMBER >= 1132 + G4StepperType StepperType() const override { return kTDormandPrince45; }; +#endif + private: void selectStepper(const std::string &); From e967e62a3be299ba50b3ed6f6a41f1297a759b9c Mon Sep 17 00:00:00 2001 From: Vladimir Date: Mon, 4 Aug 2025 14:03:57 +0200 Subject: [PATCH 2/3] code format --- SimG4Core/MagneticField/interface/FieldStepper.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SimG4Core/MagneticField/interface/FieldStepper.h b/SimG4Core/MagneticField/interface/FieldStepper.h index 6d82f3033aeb1..9754904fd2dc2 100644 --- a/SimG4Core/MagneticField/interface/FieldStepper.h +++ b/SimG4Core/MagneticField/interface/FieldStepper.h @@ -22,7 +22,7 @@ class FieldStepper : public G4MagIntegratorStepper { #if G4VERSION_NUMBER >= 1132 G4StepperType StepperType() const override { return kTDormandPrince45; }; #endif - + private: void selectStepper(const std::string &); From d049a426d3e55dd6ebe6a05214b7f6d702ad8554 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 5 Aug 2025 11:31:09 +0200 Subject: [PATCH 3/3] attempt to fix build --- SimG4Core/MagneticField/interface/FieldStepper.h | 1 + SimG4Core/MagneticField/src/CMSTDormandPrince45.h | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/SimG4Core/MagneticField/interface/FieldStepper.h b/SimG4Core/MagneticField/interface/FieldStepper.h index 9754904fd2dc2..025a665c53465 100644 --- a/SimG4Core/MagneticField/interface/FieldStepper.h +++ b/SimG4Core/MagneticField/interface/FieldStepper.h @@ -2,6 +2,7 @@ #define SimG4Core_MagneticField_FieldStepper_H #include "G4MagIntegratorStepper.hh" +#include "G4Version.hh" #if G4VERSION_NUMBER >= 1132 #include "G4FieldParameters.hh" diff --git a/SimG4Core/MagneticField/src/CMSTDormandPrince45.h b/SimG4Core/MagneticField/src/CMSTDormandPrince45.h index ef0067076c1a1..16466d1bc7c42 100644 --- a/SimG4Core/MagneticField/src/CMSTDormandPrince45.h +++ b/SimG4Core/MagneticField/src/CMSTDormandPrince45.h @@ -22,6 +22,11 @@ #include #include "G4MagIntegratorStepper.hh" #include "G4FieldUtils.hh" +#include "G4Version.hh" + +#if G4VERSION_NUMBER >= 1132 +#include "G4FieldParameters.hh" +#endif template class CMSTDormandPrince45 : public G4MagIntegratorStepper { @@ -29,6 +34,10 @@ class CMSTDormandPrince45 : public G4MagIntegratorStepper { CMSTDormandPrince45(T_Equation* equation); CMSTDormandPrince45(T_Equation* equation, G4int numVar); // must have numVar == N +#if G4VERSION_NUMBER >= 1132 + G4StepperType StepperType() const override { return kTDormandPrince45; }; +#endif + inline void StepWithError( const G4double yInput[], const G4double dydx[], G4double hstep, G4double yOutput[], G4double yError[]);