12#include "G4ChordFinder.hh"
13#include "G4FieldManager.hh"
14#include "G4MagIntegratorStepper.hh"
15#include "G4MagneticField.hh"
16#include "G4PropagatorInField.hh"
17#include "G4TransportationManager.hh"
18#include "G4Version.hh"
19#include "G4VIntegrationDriver.hh"
25 const std::string& name,
26 const IInterface* parent)
41 G4MagneticField* field =
m_fieldSvc->getField();
44 auto transpManager = G4TransportationManager::GetTransportationManager();
46 auto* field_manager = [&] () -> G4FieldManager* {
53 transpManager->SetFieldManager(stepping_field_manager);
54 return stepping_field_manager;
57 return transpManager->GetFieldManager();
62 field_manager->SetDetectorField(field);
66 field_manager->CreateChordFinder(field);
68#if G4VERSION_NUMBER < 1040
71 G4MagInt_Driver* magDriver = field_manager->GetChordFinder()->GetIntegrationDriver();
72 magDriver->RenewStepperAndAdjust(stepper);
76 G4ChordFinder* chordFinder = field_manager->GetChordFinder();
77 chordFinder->SetIntegrationDriver(driver);
81 G4PropagatorInField* propagator = transpManager->GetPropagatorInField();
85 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
G4FieldManager that sets tight stepping for muons; caches global values for other particles.