44#ifndef G4VINTEGRATION_DRIVER_HH
45#define G4VINTEGRATION_DRIVER_HH
virtual ~G4VIntegrationDriver()=default
virtual void OnComputeStep()=0
virtual G4double AdvanceChordLimited(G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance)=0
virtual void RenewStepperAndAdjust(G4MagIntegratorStepper *pItsStepper)
static constexpr G4double max_stepping_decrease
virtual G4int GetVerboseLevel() const =0
virtual const G4MagIntegratorStepper * GetStepper() const =0
virtual G4EquationOfMotion * GetEquationOfMotion()=0
virtual G4double ComputeNewStepSize(G4double errMaxNorm, G4double hstepCurrent)=0
virtual G4bool DoesReIntegrate() const =0
virtual void SetVerboseLevel(G4int level)=0
virtual G4MagIntegratorStepper * GetStepper()=0
virtual void StreamInfo(std::ostream &os) const =0
virtual G4bool QuickAdvance(G4FieldTrack &, const G4double[], G4double, G4double &, G4double &)
virtual void SetEquationOfMotion(G4EquationOfMotion *equation)=0
virtual void GetDerivatives(const G4FieldTrack &track, G4double dydx[]) const =0
static constexpr G4double max_stepping_increase
virtual void GetDerivatives(const G4FieldTrack &track, G4double dydx[], G4double field[]) const =0
virtual G4bool AccurateAdvance(G4FieldTrack &track, G4double hstep, G4double eps, G4double hinitial=0)=0
virtual void OnStartTracking()=0
friend std::ostream & operator<<(std::ostream &os, const G4VIntegrationDriver &id)