DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
DDG4
plugins
Geant4Steppers.cpp
Go to the documentation of this file.
1
//==========================================================================
2
// AIDA Detector description implementation
3
//--------------------------------------------------------------------------
4
// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
5
// All rights reserved.
6
//
7
// For the licensing terms see $DD4hepINSTALL/LICENSE.
8
// For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
9
//
10
// Author : M.Frank
11
//
12
//==========================================================================
13
14
// Framework include files
15
#include <
DDG4/Factories.h
>
16
17
// Geant 4 include files
18
#include <G4Version.hh>
19
#include <G4ExplicitEuler.hh>
20
#include <G4ImplicitEuler.hh>
21
#include <G4SimpleRunge.hh>
22
#include <G4SimpleHeum.hh>
23
#include <G4ClassicalRK4.hh>
24
#include <G4ConstRK4.hh>
25
#include <G4CashKarpRKF45.hh>
26
27
DECLARE_GEANT4_STEPPER
(ImplicitEuler)
28
DECLARE_GEANT4_STEPPER
(ExplicitEuler)
29
DECLARE_GEANT4_STEPPER
(SimpleRunge)
30
DECLARE_GEANT4_STEPPER
(SimpleHeum)
31
DECLARE_GEANT4_MAGSTEPPER
(ConstRK4)
32
DECLARE_GEANT4_STEPPER
(ClassicalRK4)
33
DECLARE_GEANT4_STEPPER
(CashKarpRKF45)
34
35
#if G4VERSION_NUMBER >=1030
36
#include <G4DoLoMcPriRK34.hh>
37
#include <G4DormandPrince745.hh>
38
#include <G4DormandPrinceRK56.hh>
39
#include <G4DormandPrinceRK78.hh>
40
#include <G4BogackiShampine23.hh>
41
#include <G4BogackiShampine45.hh>
42
DECLARE_GEANT4_STEPPER
(DoLoMcPriRK34)
43
DECLARE_GEANT4_STEPPER
(DormandPrince745)
44
DECLARE_GEANT4_STEPPER
(DormandPrinceRK56)
45
DECLARE_GEANT4_STEPPER
(DormandPrinceRK78)
46
DECLARE_GEANT4_STEPPER
(BogackiShampine23)
47
DECLARE_GEANT4_STEPPER
(BogackiShampine45)
48
#endif
49
50
// Geant 4 include files
51
#include <G4MagHelicalStepper.hh>
52
#include <G4HelixExplicitEuler.hh>
53
#include <G4HelixImplicitEuler.hh>
54
#include <G4HelixMixedStepper.hh>
55
#include <G4HelixSimpleRunge.hh>
56
#include <G4HelixHeum.hh>
57
58
DECLARE_GEANT4_MAGSTEPPER
(HelixImplicitEuler)
59
DECLARE_GEANT4_MAGSTEPPER
(HelixExplicitEuler)
60
DECLARE_GEANT4_MAGSTEPPER
(HelixMixedStepper)
61
DECLARE_GEANT4_MAGSTEPPER
(HelixSimpleRunge)
62
DECLARE_GEANT4_MAGSTEPPER
(HelixHeum)
63
64
#if G4VERSION_NUMBER>=1020
65
#include <G4NystromRK4.hh>
66
#include <G4RKG3_Stepper.hh>
67
DECLARE_GEANT4_MAGSTEPPER
(RKG3_Stepper)
68
DECLARE_GEANT4_MAGSTEPPER
(NystromRK4)
69
#endif
70
71
// Geant 4 include files
72
#include <G4Mag_EqRhs.hh>
73
#include <G4Mag_SpinEqRhs.hh>
74
#include <G4Mag_UsualEqRhs.hh>
75
#include <G4KM_OpticalEqRhs.hh>
76
#include <G4KM_NucleonEqRhs.hh>
77
//Virtual: DECLARE_GEANT4_MAGMOTION(Mag_EqRhs);
78
DECLARE_GEANT4_MAGMOTION
(Mag_SpinEqRhs)
79
DECLARE_GEANT4_MAGMOTION
(Mag_UsualEqRhs)
80
//DECLARE_GEANT4_MAGMOTION(KM_OpticalEqRhs);
81
//DECLARE_GEANT4_MAGMOTION(KM_NucleonEqRhs);
82
83
#if 0 // G4VERSION_NUMBER>=1002
84
// Undefined factories !!!
85
#include <G4MonopoleEq.hh>
86
#include <G4EqEMFieldWithEDM.hh>
87
#include <G4EqEMFieldWithSpin.hh>
88
#include <G4EqGravityField.hh>
89
#include <G4EqMagElectricField.hh>
90
91
// G4EquationOfMotion*(G4UniformGravityField*)
92
DECLARE_GEANT4_MAGMOTION
(EqGravityField)
93
// G4EquationOfMotion*(G4ElectroMagneticField*)
94
DECLARE_GEANT4_MAGMOTION
(MonopoleEq)
95
DECLARE_GEANT4_MAGMOTION
(EqMagElectricField)
96
DECLARE_GEANT4_MAGMOTION
(EqEMFieldWithEDM)
97
DECLARE_GEANT4_MAGMOTION
(EqEMFieldWithSpin)
98
#endif
DECLARE_GEANT4_STEPPER
#define DECLARE_GEANT4_STEPPER(name)
Plugin definition to create Geant4 stepper objects.
Definition:
Factories.h:213
DECLARE_GEANT4_MAGSTEPPER
#define DECLARE_GEANT4_MAGSTEPPER(name)
Definition:
Factories.h:214
Factories.h
DECLARE_GEANT4_MAGMOTION
#define DECLARE_GEANT4_MAGMOTION(name)
Plugin definition to create Geant4 equations of motion for magnetic fields.
Definition:
Factories.h:216
Generated on Tue Dec 10 2024 18:30:09 for DD4hep by
1.8.18