13 #include "CLHEP/Units/GlobalSystemOfUnits.h"
14 #include "G4ChordFinder.hh"
15 #include "G4ClassicalRK4.hh"
16 #include "G4FieldManager.hh"
17 #include "G4LogicalVolumeStore.hh"
18 #include "G4Mag_UsualEqRhs.hh"
19 #include "G4TMagFieldEquation.hh"
20 #include "G4PropagatorInField.hh"
25 theDelta =
p.getParameter<
double>(
"delta") * CLHEP::mm;
39 edm::LogVerbatim(
"SimG4CoreMagneticField") <<
" FieldBuilder::build: Global magnetic field is used";
45 G4PropagatorInField *fP) {
46 G4LogicalVolumeStore *theStore = G4LogicalVolumeStore::GetInstance();
47 for (
auto vol : *theStore) {
58 double minStep = stpPSet.
getParameter<
double>(
"MinStep") * CLHEP::mm;
60 if (stepper ==
"G4TDormandPrince45") {
67 G4ChordFinder *cf =
new G4ChordFinder(
theField, minStep, dStepper);
70 G4MagIntegratorStepper *mStepper =
new G4ClassicalRK4(monopoleEquation, 8);
71 G4ChordFinder *cfmon =
new G4ChordFinder(
theField, minStep, mStepper);