4 #include "G4SystemOfUnits.hh"
5 #include "G4Mag_UsualEqRhs.hh"
6 #include "G4ChordFinder.hh"
7 #include "G4MagIntegratorStepper.hh"
8 #include "G4ClassicalRK4.hh"
9 #include "G4ExplicitEuler.hh"
10 #include "G4HelixExplicitEuler.hh"
11 #include "G4HelixHeum.hh"
12 #include "G4HelixImplicitEuler.hh"
13 #include "G4HelixSimpleRunge.hh"
14 #include "G4ImplicitEuler.hh"
15 #include "G4SimpleHeum.hh"
16 #include "G4SimpleRunge.hh"
17 #include "G4CashKarpRKF45.hh"
18 #include "G4MagneticField.hh"
19 #include "G4FieldManager.hh"
20 #include "G4TransportationManager.hh"
21 #include "G4SystemOfUnits.hh"
27 Module(
"G4MagIntegratorStepperFactory") {
28 m_fieldMgr = G4TransportationManager::GetTransportationManager()->GetFieldManager();
29 m_field =
static_cast<G4MagneticField*
>(
const_cast<G4Field*
>(
m_fieldMgr->GetDetectorField()));
46 G4ChordFinder* oldChordFinder =
m_fieldMgr->GetChordFinder();
47 if (oldChordFinder != 0) {
48 delete oldChordFinder;
57 if (
name ==
"G4ClassicalRK4") {
59 }
else if (
name ==
"G4ExplicitEuler") {
61 }
else if (
name ==
"G4HelixExplicitEuler") {
63 }
else if (
name ==
"G4HelixHeum") {
65 }
else if (
name ==
"G4HelixImplicitEuler") {
67 }
else if (
name ==
"G4HelixSimpleRunge") {
69 }
else if (
name ==
"G4ImplicitEuler") {
71 }
else if (
name ==
"G4CashKarpRKF45") {
73 }
else if (
name ==
"G4SimpleHeum") {
75 }
else if (
name ==
"G4SimpleRunge") {
G4MagneticField * m_field
void setupG4MagIntegratorStepper(std::string name)
G4FieldManager * m_fieldMgr
virtual ~G4MagIntegratorStepperFactory()
G4MagIntegratorStepper * createG4MagIntegratorStepper(std::string name)
G4Mag_EqRhs * m_fieldEquations
G4MagIntegratorStepperFactory()
Base class for slic code modules that provides common functionality, such as logging to an output str...