Geant4 11.3.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4FieldParameters.hh File Reference

Definition of the G4FieldParameters class. More...

Go to the source code of this file.

Classes

class  G4FieldParameters
 The magnetic field parameters. More...
 

Enumerations

enum  G4FieldType { kMagnetic , kElectroMagnetic , kGravity }
 The available fields in Geant4. More...
 
enum  G4EquationType {
  kEqMagnetic , kEqMagneticWithSpin , kEqElectroMagnetic , kEqEMfieldWithSpin ,
  kEqEMfieldWithEDM , kUserEquation
}
 
enum  G4StepperType {
  kCashKarpRKF45 , kClassicalRK4 , kBogackiShampine23 , kBogackiShampine45 ,
  kDormandPrince745 , kDormandPrinceRK56 , kDormandPrinceRK78 , kExplicitEuler ,
  kImplicitEuler , kSimpleHeum , kSimpleRunge , kTsitourasRK45 ,
  kConstRK4 , kExactHelixStepper , kHelixExplicitEuler , kHelixHeum ,
  kHelixImplicitEuler , kHelixMixedStepper , kHelixSimpleRunge , kNystromRK4 ,
  kRKG3Stepper , kUserStepper , kRK547FEq1 , kRK547FEq2 ,
  kRK547FEq3
}
 

Detailed Description

Definition of the G4FieldParameters class.

This code was initially developed in Geant4 VMC package (https://github.com/vmc-project) and adapted to Geant4.

Author
I. Hrivnacova; IJCLab, Orsay

Definition in file G4FieldParameters.hh.

Enumeration Type Documentation

◆ G4EquationType

The available equations of motion of a particle in a field in Geant4

Enumerator
kEqMagnetic 

G4Mag_UsualEqRhs: the standard right-hand side for equation of motion.

kEqMagneticWithSpin 

G4Mag_SpinEqRhs: the equation of motion for a particle with spin in a pure magnetic field

kEqElectroMagnetic 

G4EqMagElectricField: Equation of motion in a combined electric and magnetic field

kEqEMfieldWithSpin 

G4EqEMFieldWithSpin: Equation of motion for a particle with spin in a combined electric and magnetic field

kEqEMfieldWithEDM 

G4EqEMFieldWithEDM: Equation of motion in a combined electric and magnetic field, with spin tracking for both MDM and EDM terms

kUserEquation 

User defined equation of motion.

Definition at line 58 of file G4FieldParameters.hh.

59{
60 kEqMagnetic, ///< G4Mag_UsualEqRhs: the standard right-hand side for
61 ///< equation of motion.
62 kEqMagneticWithSpin,///< G4Mag_SpinEqRhs: the equation of motion for a particle
63 ///< with spin
64 ///< in a pure magnetic field
65 kEqElectroMagnetic, ///< G4EqMagElectricField: Equation of motion in a combined
66 ///< electric and magnetic field
67 kEqEMfieldWithSpin, ///< G4EqEMFieldWithSpin: Equation of motion for a
68 ///< particle with spin
69 ///< in a combined electric and magnetic field
70 kEqEMfieldWithEDM, ///< G4EqEMFieldWithEDM: Equation of motion in a combined
71 ///< electric and magnetic field, with spin tracking for
72 ///< both MDM and EDM terms
73 kUserEquation ///< User defined equation of motion
74};
@ kEqMagneticWithSpin
@ kUserEquation
User defined equation of motion.
@ kEqEMfieldWithSpin
@ kEqMagnetic
@ kEqElectroMagnetic
@ kEqEMfieldWithEDM

◆ G4FieldType

The available fields in Geant4.

Enumerator
kMagnetic 

magnetic field

kElectroMagnetic 

electromagnetic field

kGravity 

gravity field

Definition at line 49 of file G4FieldParameters.hh.

50{
51 kMagnetic, ///< magnetic field
52 kElectroMagnetic, ///< electromagnetic field
53 kGravity ///< gravity field
54};
@ kElectroMagnetic
electromagnetic field
@ kGravity
gravity field
@ kMagnetic
magnetic field

◆ G4StepperType

The available integrator of particle's equation of motion in Geant4

Enumerator
kCashKarpRKF45 

G4CashKarpRKF45.

kClassicalRK4 

G4ClassicalRK4.

kBogackiShampine23 

G4BogackiShampine23.

kBogackiShampine45 

G4BogackiShampine45.

kDormandPrince745 

G4DormandPrince745.

kDormandPrinceRK56 

G4DormandPrinceRK56.

kDormandPrinceRK78 

G4DormandPrinceRK78.

kExplicitEuler 

G4ExplicitEuler.

kImplicitEuler 

G4ImplicitEuler.

kSimpleHeum 

G4SimpleHeum.

kSimpleRunge 

G4SimpleRunge.

kTsitourasRK45 

G4TsitourasRK45.

kConstRK4 

G4ConstRK4.

kExactHelixStepper 

G4ExactHelixStepper.

kHelixExplicitEuler 

G4HelixExplicitEuler.

kHelixHeum 

G4HelixHeum.

kHelixImplicitEuler 

G4HelixImplicitEuler.

kHelixMixedStepper 

G4HelixMixedStepper.

kHelixSimpleRunge 

G4HelixSimpleRunge.

kNystromRK4 

G4NystromRK4.

kRKG3Stepper 

G4RKG3_Stepper.

kUserStepper 

User defined stepper.

kRK547FEq1 

G4RK547FEq1.

kRK547FEq2 

G4RK547FEq2.

kRK547FEq3 

G4RK547FEq3.

Definition at line 78 of file G4FieldParameters.hh.

79{
80 // steppers with equation of motion of generic type (G4EquationOfMotion)
81 kCashKarpRKF45, ///< G4CashKarpRKF45
82 kClassicalRK4, ///< G4ClassicalRK4
83 kBogackiShampine23, ///< G4BogackiShampine23
84 kBogackiShampine45, ///< G4BogackiShampine45
85 kDormandPrince745, ///< G4DormandPrince745
86 kDormandPrinceRK56, ///< G4DormandPrinceRK56
87 kDormandPrinceRK78, ///< G4DormandPrinceRK78
88 kExplicitEuler, ///< G4ExplicitEuler
89 kImplicitEuler, ///< G4ImplicitEuler
90 kSimpleHeum, ///< G4SimpleHeum
91 kSimpleRunge, ///< G4SimpleRunge
92 kTsitourasRK45, ///< G4TsitourasRK45
93
94 // steppers with equation of motion of G4Mag_UsualEqRhs type
95 kConstRK4, ///< G4ConstRK4
96 kExactHelixStepper, ///< G4ExactHelixStepper
97 kHelixExplicitEuler, ///< G4HelixExplicitEuler
98 kHelixHeum, ///< G4HelixHeum
99 kHelixImplicitEuler, ///< G4HelixImplicitEuler
100 kHelixMixedStepper, ///< G4HelixMixedStepper
101 kHelixSimpleRunge, ///< G4HelixSimpleRunge
102 kNystromRK4, ///< G4NystromRK4
103 kRKG3Stepper, ///< G4RKG3_Stepper
104 kUserStepper, ///< User defined stepper
105
106 // FSAL steppers
107 kRK547FEq1, ///< G4RK547FEq1
108 kRK547FEq2, ///< G4RK547FEq2
109 kRK547FEq3 ///< G4RK547FEq3
110};
@ kRKG3Stepper
G4RKG3_Stepper.
@ kRK547FEq2
G4RK547FEq2.
@ kHelixSimpleRunge
G4HelixSimpleRunge.
@ kNystromRK4
G4NystromRK4.
@ kDormandPrince745
G4DormandPrince745.
@ kCashKarpRKF45
G4CashKarpRKF45.
@ kDormandPrinceRK78
G4DormandPrinceRK78.
@ kSimpleRunge
G4SimpleRunge.
@ kHelixImplicitEuler
G4HelixImplicitEuler.
@ kConstRK4
G4ConstRK4.
@ kUserStepper
User defined stepper.
@ kSimpleHeum
G4SimpleHeum.
@ kHelixHeum
G4HelixHeum.
@ kHelixExplicitEuler
G4HelixExplicitEuler.
@ kDormandPrinceRK56
G4DormandPrinceRK56.
@ kTsitourasRK45
G4TsitourasRK45.
@ kImplicitEuler
G4ImplicitEuler.
@ kExactHelixStepper
G4ExactHelixStepper.
@ kHelixMixedStepper
G4HelixMixedStepper.
@ kBogackiShampine45
G4BogackiShampine45.
@ kExplicitEuler
G4ExplicitEuler.
@ kRK547FEq1
G4RK547FEq1.
@ kRK547FEq3
G4RK547FEq3.
@ kBogackiShampine23
G4BogackiShampine23.
@ kClassicalRK4
G4ClassicalRK4.