41 #ifndef G4FSALIntegrationDriver_HH
42 #define G4FSALIntegrationDriver_HH
54 G4int numberOfComponents = 6,
55 G4int statisticsVerbosity = 1);
187 #include "G4FSALIntegrationDriver.icc"
virtual G4double ComputeNewStepSize(G4double errMaxNorm, G4double hstepCurrent) override
G4double GetSafety() const
void CheckStep(const G4ThreeVector &posIn, const G4ThreeVector &posOut, G4double hdid)
G4double GrowStepSize(G4double h, G4double error) const
virtual G4EquationOfMotion * GetEquationOfMotion() override
void ReSetParameters(G4double safety=0.9)
G4double errorConstraintShrink
void OneGoodStep(G4double ystart[], G4double dydx[], G4double &curveLength, G4double htry, G4double eps, G4double &hdid, G4double &hnext)
void UpdateErrorConstraints()
virtual const G4MagIntegratorStepper * GetStepper() const override
G4double GetSmallestFraction() const
G4int fNoQuickAvanceCalls
void SetSmallestFraction(G4double val)
G4int GetMaxNoSteps() const
void SetSafety(G4double valS)
G4double GetPshrnk() const
G4double errorConstraintGrow
virtual ~G4FSALIntegrationDriver() override
virtual G4int GetVerboseLevel() const override
const T * GetStepperOfPreciseType() const
G4double fSmallestFraction
void SetMinimumStep(G4double newval)
const G4FSALIntegrationDriver & operator=(const G4FSALIntegrationDriver &)=delete
unsigned long fNoTotalSteps
virtual void SetVerboseLevel(G4int newLevel) override
virtual void SetEquationOfMotion(G4EquationOfMotion *equation) override
void SetMaxNoSteps(G4int val)
virtual G4bool QuickAdvance(G4FieldTrack &fieldTrack, const G4double dydx[], G4double hstep, G4double &dchord_step, G4double &dyerr) override
static PROLOG_HANDLER error
virtual void GetDerivatives(const G4FieldTrack &track, G4double dydx[]) const override
G4double GetMinimumStep() const
unsigned long fNoBadSteps
G4double GetPgrow() const
G4double ShrinkStepSize(G4double h, G4double error) const
G4FSALIntegrationDriver(G4double hminimum, T *stepper, G4int numberOfComponents=6, G4int statisticsVerbosity=1)
static const G4double eps
virtual void RenewStepperAndAdjust(G4MagIntegratorStepper *pItsStepper) override
unsigned long fNoGoodSteps
void RenewStepperAndAdjustStrict(T *pItsStepper)
virtual G4bool AccurateAdvance(G4FieldTrack &track, G4double hstep, G4double eps, G4double hinitial=0) override