|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4HelixMixedStepper is a concrete class for particle motion in magnetic field which splits the method used for Integration in two: if the stepping angle ( h / R_curve) is less than pi/3, use a RK stepper for small step, else use G4HelixExplicitEuler stepper. Like other helix steppers, it is only applicable in pure magnetic field. More...
#include <G4HelixMixedStepper.hh>
Additional Inherited Members | |
| Protected Member Functions inherited from G4MagHelicalStepper | |
| void | LinearStep (const G4double yIn[], G4double h, G4double yHelix[]) const |
| void | AdvanceHelix (const G4double yIn[], const G4ThreeVector &Bfld, G4double h, G4double yHelix[], G4double yHelix2[]=nullptr) |
| void | MagFieldEvaluate (const G4double y[], G4ThreeVector &Bfield) |
| G4double | GetInverseCurve (const G4double Momentum, const G4double Bmag) |
| void | SetAngCurve (const G4double Ang) |
| G4double | GetAngCurve () const |
| void | SetCurve (const G4double Curve) |
| G4double | GetCurve () const |
| void | SetRadHelix (const G4double Rad) |
| G4double | GetRadHelix () const |
| Protected Member Functions inherited from G4MagIntegratorStepper | |
| void | SetIntegrationOrder (G4int order) |
| void | SetFSAL (G4bool flag=true) |
G4HelixMixedStepper is a concrete class for particle motion in magnetic field which splits the method used for Integration in two: if the stepping angle ( h / R_curve) is less than pi/3, use a RK stepper for small step, else use G4HelixExplicitEuler stepper. Like other helix steppers, it is only applicable in pure magnetic field.
Definition at line 70 of file G4HelixMixedStepper.hh.
| G4HelixMixedStepper::G4HelixMixedStepper | ( | G4Mag_EqRhs * | EqRhs, |
| G4int | StepperNumber = -1, | ||
| G4double | Angle_threshold = -1.0 ) |
Constructor for G4ExactHelixStepper.
| [in] | EqRhs | Pointer to the standard equation of motion. |
| [in] | StepperNumber | Identified for selecting the stepper type; default (-1) is DormandPrince745. |
| [in] | Angle_threshold | The stepping angle threshold; default (-1) is (1/3)*pi. |
Definition at line 65 of file G4HelixMixedStepper.cc.
|
override |
Default Destructor.
Definition at line 92 of file G4HelixMixedStepper.cc.
|
overridevirtual |
Estimates the maximum distance of curved solution and chord.
Implements G4MagIntegratorStepper.
Definition at line 179 of file G4HelixMixedStepper.cc.
|
overridevirtual |
Same as Stepper() function above, but should perform a 'dump' step without error calculation. Assuming a constant field, the solution is a helix.
| [in] | y | Starting values array of integration variables. |
| [in] | Bfld | The field vector. |
| [in] | h | The given step size. |
| [out] | yout | Integration output. |
Implements G4MagHelicalStepper.
Definition at line 170 of file G4HelixMixedStepper.cc.
|
inline |
Definition at line 137 of file G4HelixMixedStepper.hh.
|
inlineoverridevirtual |
Returns the order, 4, of integration.
Implements G4MagIntegratorStepper.
Definition at line 142 of file G4HelixMixedStepper.hh.
| void G4HelixMixedStepper::PrintCalls | ( | ) |
Logger function for the number of calls.
Definition at line 208 of file G4HelixMixedStepper.cc.
Referenced by ~G4HelixMixedStepper().
|
inline |
Setter and getter for the stepping angle threshold.
Definition at line 136 of file G4HelixMixedStepper.hh.
| G4MagIntegratorStepper * G4HelixMixedStepper::SetupStepper | ( | G4Mag_EqRhs * | EqRhs, |
| G4int | StepperName ) |
Sets the chosen stepper and equation of motion.
Definition at line 217 of file G4HelixMixedStepper.cc.
Referenced by G4HelixMixedStepper().
|
inline |
Sets the verbosity level.
Definition at line 131 of file G4HelixMixedStepper.hh.
|
overridevirtual |
The integration stepper. The stepsize is fixed, with the step size given by 'hstep'. Integrates ODE starting values yInput[0 to 6]. Outputs yout[] and its estimated error yerr[]. If SteppingAngle = h/R_curve < pi/3, uses default RK stepper else use Helix fast method.
| [in] | y | Starting values array of integration variables. |
| [in] | dydx | Derivatives array. |
| [in] | h | The given step size. |
| [out] | yout | Integration output. |
| [out] | yerr | The estimated error. |
Implements G4MagIntegratorStepper.
Definition at line 99 of file G4HelixMixedStepper.cc.
|
inlineoverridevirtual |
Returns the stepper type-ID, "kHelixMixedStepper".
Reimplemented from G4MagIntegratorStepper.
Definition at line 147 of file G4HelixMixedStepper.hh.