#include <G4VIntegrationDriver.hh>
|
| virtual | ~G4VIntegrationDriver ()=default |
| virtual G4double | AdvanceChordLimited (G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance)=0 |
| virtual G4bool | AccurateAdvance (G4FieldTrack &track, G4double hstep, G4double eps, G4double hinitial=0)=0 |
| virtual void | SetEquationOfMotion (G4EquationOfMotion *equation)=0 |
| virtual G4EquationOfMotion * | GetEquationOfMotion ()=0 |
| virtual void | RenewStepperAndAdjust (G4MagIntegratorStepper *pItsStepper) |
| virtual void | SetVerboseLevel (G4int level)=0 |
| virtual G4int | GetVerboseLevel () const =0 |
| virtual void | OnComputeStep (const G4FieldTrack *=nullptr)=0 |
| virtual void | OnStartTracking ()=0 |
| virtual G4bool | DoesReIntegrate () const =0 |
| virtual void | StreamInfo (std::ostream &os) const =0 |
| virtual G4bool | QuickAdvance (G4FieldTrack &, const G4double[], G4double, G4double &, G4double &) |
| virtual void | GetDerivatives (const G4FieldTrack &track, G4double dydx[]) const =0 |
| virtual void | GetDerivatives (const G4FieldTrack &track, G4double dydx[], G4double field[]) const =0 |
| virtual const G4MagIntegratorStepper * | GetStepper () const =0 |
| virtual G4MagIntegratorStepper * | GetStepper ()=0 |
| virtual G4double | ComputeNewStepSize (G4double errMaxNorm, G4double hstepCurrent)=0 |
Definition at line 53 of file G4VIntegrationDriver.hh.
◆ ~G4VIntegrationDriver()
| virtual G4VIntegrationDriver::~G4VIntegrationDriver |
( |
| ) |
|
|
virtualdefault |
◆ AccurateAdvance()
Advances integration accurately by relative accuracy better than 'eps'. On output the track is replaced by the value at the end of interval.
- Parameters
-
| [in,out] | track | The current track in field. |
| [in] | hstep | Proposed step length. |
| [in] | eps | Requested accuracy, y_err/hstep. |
| [in] | hinitial | Initial minimum integration step. |
- Returns
- true if integration succeeds.
Implemented in G4BFieldIntegrationDriver, G4BorisDriver, G4FSALIntegrationDriver< T >, G4IntegrationDriver< T >, G4IntegrationDriver< G4BulirschStoer >, G4InterpolationDriver< T, StepperCachesDchord >, G4InterpolationDriver< T, true >, G4MagInt_Driver, and G4OldMagIntDriver.
Referenced by G4BrentLocator::EstimateIntersectionPoint().
◆ AdvanceChordLimited()
Computes the step to take, based on chord limits.
- Parameters
-
| [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. |
- Returns
- The length of step taken.
Implemented in G4BFieldIntegrationDriver, G4BorisDriver, G4FSALIntegrationDriver< T >, G4IntegrationDriver< T >, G4IntegrationDriver< G4BulirschStoer >, G4InterpolationDriver< T, StepperCachesDchord >, G4InterpolationDriver< T, true >, G4MagInt_Driver, G4OldMagIntDriver, and G4QSSDriver< T >.
Referenced by G4BFieldIntegrationDriver::AdvanceChordLimited().
◆ ComputeNewStepSize()
◆ DoesReIntegrate()
| virtual G4bool G4VIntegrationDriver::DoesReIntegrate |
( |
| ) |
const |
|
pure virtual |
Whether the driver implements re-integration: Does this driver Recalculate when AccurateAdvance() is called ?
Implemented in G4BFieldIntegrationDriver, G4BorisDriver, G4FSALIntegrationDriver< T >, G4IntegrationDriver< T >, G4IntegrationDriver< G4BulirschStoer >, G4InterpolationDriver< T, StepperCachesDchord >, G4InterpolationDriver< T, true >, G4MagInt_Driver, and G4OldMagIntDriver.
◆ GetDerivatives() [1/2]
| virtual void G4VIntegrationDriver::GetDerivatives |
( |
const G4FieldTrack & | track, |
|
|
G4double | dydx[] ) const |
|
pure virtual |
◆ GetDerivatives() [2/2]
◆ GetEquationOfMotion()
◆ GetStepper() [1/2]
◆ GetStepper() [2/2]
◆ GetVerboseLevel()
| virtual G4int G4VIntegrationDriver::GetVerboseLevel |
( |
| ) |
const |
|
pure virtual |
Implemented in G4BFieldIntegrationDriver, G4BorisDriver, G4FSALIntegrationDriver< T >, G4IntegrationDriver< T >, G4IntegrationDriver< G4BulirschStoer >, G4InterpolationDriver< T, StepperCachesDchord >, G4InterpolationDriver< T, true >, G4MagInt_Driver, and G4OldMagIntDriver.
◆ OnComputeStep()
| virtual void G4VIntegrationDriver::OnComputeStep |
( |
const G4FieldTrack * | = nullptr | ) |
|
|
pure virtual |
Dispatch interface method for computing step.
Implemented in G4BFieldIntegrationDriver, G4BorisDriver, G4FSALIntegrationDriver< T >, G4IntegrationDriver< T >, G4IntegrationDriver< G4BulirschStoer >, G4InterpolationDriver< T, StepperCachesDchord >, G4InterpolationDriver< T, true >, G4MagInt_Driver, G4OldMagIntDriver, and G4QSSDriver< T >.
Referenced by G4BFieldIntegrationDriver::AdvanceChordLimited().
◆ OnStartTracking()
| virtual void G4VIntegrationDriver::OnStartTracking |
( |
| ) |
|
|
pure virtual |
Dispatch interface method for initialisation/reset of driver.
Implemented in G4BFieldIntegrationDriver, G4BorisDriver, G4FSALIntegrationDriver< T >, G4IntegrationDriver< T >, G4IntegrationDriver< G4BulirschStoer >, G4InterpolationDriver< T, StepperCachesDchord >, G4InterpolationDriver< T, true >, G4MagInt_Driver, G4OldMagIntDriver, and G4QSSDriver< T >.
◆ QuickAdvance()
◆ RenewStepperAndAdjust()
Method for compatibility – relevant only for G4MagIntegratorDriver.
Reimplemented in G4MagInt_Driver, G4OldMagIntDriver, and G4RKIntegrationDriver< T >.
Definition at line 34 of file G4VIntegrationDriver.cc.
35{
36 G4Exception(
"G4VIntegrationDriver::RenewStepperAndAdjust",
38 "This method exists only for the original G4MagIntegratorDriver class. "
39 "Not defined for other classes derived from G4VIntegrationDriver");
40}
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
◆ SetEquationOfMotion()
◆ SetVerboseLevel()
| virtual void G4VIntegrationDriver::SetVerboseLevel |
( |
G4int | level | ) |
|
|
pure virtual |
Setter and getter for verbosity.
Implemented in G4BFieldIntegrationDriver, G4BorisDriver, G4FSALIntegrationDriver< T >, G4IntegrationDriver< T >, G4IntegrationDriver< G4BulirschStoer >, G4InterpolationDriver< T, StepperCachesDchord >, G4InterpolationDriver< T, true >, G4MagInt_Driver, and G4OldMagIntDriver.
Referenced by G4PropagatorInField::SetVerboseLevel().
◆ StreamInfo()
| virtual void G4VIntegrationDriver::StreamInfo |
( |
std::ostream & | os | ) |
const |
|
pure virtual |
Writes out to stream the parameters/state of the driver.
Implemented in G4BFieldIntegrationDriver, G4BorisDriver, G4FSALIntegrationDriver< T >, G4IntegrationDriver< T >, G4IntegrationDriver< G4BulirschStoer >, G4InterpolationDriver< T, StepperCachesDchord >, G4InterpolationDriver< T, true >, G4MagInt_Driver, G4OldMagIntDriver, and G4RKIntegrationDriver< T >.
◆ operator<<
◆ max_stepping_decrease
| G4double G4VIntegrationDriver::max_stepping_decrease = 0.1 |
|
staticconstexprprotected |
◆ max_stepping_increase
| G4double G4VIntegrationDriver::max_stepping_increase = 5 |
|
staticconstexprprotected |
The documentation for this class was generated from the following files: