|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4BorisDriver is a driver class using the second order Boris method to integrate the equation of motion. More...
#include <G4BorisDriver.hh>
Additional Inherited Members | |
| Static Protected Attributes inherited from G4VIntegrationDriver | |
| static constexpr G4double | max_stepping_increase = 5 |
| static constexpr G4double | max_stepping_decrease = 0.1 |
G4BorisDriver is a driver class using the second order Boris method to integrate the equation of motion.
Definition at line 47 of file G4BorisDriver.hh.
| G4BorisDriver::G4BorisDriver | ( | G4double | hminimum, |
| G4BorisScheme * | Boris, | ||
| G4int | numberOfComponents = 6, | ||
| G4bool | verbosity = false ) |
Constructor for G4BorisDriver.
| [in] | hminimum | The minumum allowed step. |
| [in] | Boris | Pointer to the Boris motion algorithm. |
| [in] | numberOfComponents | The number of integration variables. |
| [in] | verbosity | Flag for verbosity. |
Definition at line 46 of file G4BorisDriver.cc.
Referenced by G4BorisDriver(), and operator=().
|
overridedefault |
Default Destructor.
|
delete |
Copy constructor and assignment operator not allowed.
|
overridevirtual |
Advances integration accurately by relative accuracy better than 'eps'.
| [in,out] | track | The current track in field. |
| [in] | stepLen | Proposed step length. |
| [in] | epsilon | Requested accuracy, y_err/hstep. |
| [in] | beginStep | Initial minimum integration step. |
Implements G4VIntegrationDriver.
Definition at line 70 of file G4BorisDriver.cc.
|
inlineoverridevirtual |
Computes the step to take, based on chord limits.
| [in,out] | track | The current track in field. |
| [in] | hstep | Proposed step length. |
| [in] | eps | Requested accuracy, y_err/hstep. |
| [in] | chordDistance | Maximum sagitta distance. |
Implements G4VIntegrationDriver.
|
inlineoverridevirtual |
Computes a step size for the next step, taking the last step's normalised error 'errMaxNorm'.
| [in] | errMaxNorm | The normalised error on last step. |
| [in] | hstepCurrent | The current proposed step. |
Implements G4VIntegrationDriver.
|
inlineoverridevirtual |
The driver implements re-integration. Returns true. It would be false if it just used interpolation to provide a result.
Implements G4VIntegrationDriver.
|
overridevirtual |
Getters for derivatives.
Implements G4VIntegrationDriver.
Definition at line 269 of file G4BorisDriver.cc.
Referenced by GetDerivatives().
|
overridevirtual |
Implements G4VIntegrationDriver.
Definition at line 278 of file G4BorisDriver.cc.
|
inline |
|
inlineoverridevirtual |
Getters for the equation of motion.
Implements G4VIntegrationDriver.
Referenced by GetDerivatives().
|
inlineoverridevirtual |
Accessors for stepper. Not relevant for Boris and other non-RK methods.
Implements G4VIntegrationDriver.
|
inlineoverridevirtual |
Implements G4VIntegrationDriver.
|
inlineoverridevirtual |
Implements G4VIntegrationDriver.
Definition at line 302 of file G4BorisDriver.cc.
Referenced by OneGoodStep().
|
inlineoverridevirtual |
Dispatch interface method for computing step. Does nothing here.
Implements G4VIntegrationDriver.
| void G4BorisDriver::OneGoodStep | ( | G4double | yCurrentState[], |
| G4double & | curveLength, | ||
| G4double | htry, | ||
| G4double | epsilon_rel, | ||
| G4double | restMass, | ||
| G4double | charge, | ||
| G4double & | hdid, | ||
| G4double & | hnext ) |
Takes one Step that is as large as possible while satisfying the accuracy criterion.
| [in,out] | yCurrentState | The current track state, y. |
| [in,out] | curveLength | Step start, x. |
| [in] | htry | Step to attempt. |
| [in] | epsilon_rel | The relative accuracy. |
| [in] | restMass | Mass value for computing velocity. |
| [in] | charge | Charge value for computing momentum. |
| [out] | hdid | Step achieved. |
| [out] | hnext | Proposed next step. |
Definition at line 170 of file G4BorisDriver.cc.
Referenced by AccurateAdvance().
|
inlineoverridevirtual |
Dispatch interface method for initialisation/reset of driver.
Implements G4VIntegrationDriver.
|
delete |
|
overridevirtual |
Attempts one integration step, and returns estimated error 'dyerr'. It does not ensure accuracy.
| [in,out] | y_val | The current track in field. |
| [in] | dydx | dydx array. |
| [in] | hstep | Proposed step length. |
| [out] | missDist | Estimated sagitta distance. |
| [out] | dyerr | Estimated error. |
Reimplemented from G4VIntegrationDriver.
Definition at line 223 of file G4BorisDriver.cc.
|
overridevirtual |
Setter for the equation of motion. Issues an exception, as not foreseen to change equation of motion for the Boris stepper.
Implements G4VIntegrationDriver.
Definition at line 314 of file G4BorisDriver.cc.
|
inlineoverridevirtual |
Setter and getter for verbosity.
Implements G4VIntegrationDriver.
Methods to calculate the next step size given the square of the relative error.
Definition at line 291 of file G4BorisDriver.cc.
Referenced by OneGoodStep().
|
overridevirtual |
Writes out to stream the parameters/state of the driver.
Implements G4VIntegrationDriver.
Definition at line 323 of file G4BorisDriver.cc.