37#ifndef G4OLD_MAGINT_DRIVER_HH
38#define G4OLD_MAGINT_DRIVER_HH
51 G4int numberOfComponents = 6,
52 G4int statisticsVerbosity = 0);
152 void StreamInfo( std::ostream& os )
const override;
static const G4double eps
void PrintStat_Aux(const G4FieldTrack &aFieldTrack, G4double requestStep, G4double actualStep, G4int subStepNo, G4double subStepSize, G4double dotVelocities)
virtual G4bool QuickAdvance(G4FieldTrack &y_val, const G4double dydx[], G4double hstep, G4double &dchord_step, G4double &dyerr) override
virtual G4bool DoesReIntegrate() const override
unsigned long fNoInitialSmallSteps
void SetPshrnk(G4double valPs)
void PrintStatisticsReport()
G4double ComputeNewStepSize_WithinLimits(G4double errMaxNorm, G4double hstepCurrent)
G4int GetMaxNoSteps() const
void SetHmin(G4double newval)
void SetPgrow(G4double valPg)
virtual void OnStartTracking() override
G4OldMagIntDriver(const G4OldMagIntDriver &)=delete
void PrintStatus(const G4double *StartArr, G4double xstart, const G4double *CurrentArr, G4double xcurrent, G4double requestStep, G4int subStepNo)
G4MagIntegratorStepper * pIntStepper
G4double GetSmallestFraction() const
G4double GetPgrow() const
virtual G4bool AccurateAdvance(G4FieldTrack &y_current, G4double hstep, G4double eps, G4double hinitial=0.0) override
const G4int fNoIntegrationVariables
void OneGoodStep(G4double ystart[], const G4double dydx[], G4double &x, G4double htry, G4double eps, G4double &hdid, G4double &hnext)
virtual void SetVerboseLevel(G4int newLevel) override
void SetSafety(G4double valS)
void WarnSmallStepSize(G4double hnext, G4double hstep, G4double h, G4double xDone, G4int noSteps)
void ReSetParameters(G4double new_safety=0.9)
virtual ~G4OldMagIntDriver() override
virtual void OnComputeStep() override
virtual void SetEquationOfMotion(G4EquationOfMotion *equation) override
unsigned long fNoBadSteps
unsigned long fNoTotalSteps
G4double GetSafety() const
unsigned long fNoSmallSteps
G4double GetErrcon() const
void SetSmallestFraction(G4double val)
void StreamInfo(std::ostream &os) const override
G4int fStatisticsVerboseLevel
void SetMaxNoSteps(G4int val)
virtual G4double ComputeNewStepSize(G4double errMaxNorm, G4double hstepCurrent) override
void SetErrcon(G4double valEc)
G4double fSmallestFraction
virtual void GetDerivatives(const G4FieldTrack &y_curr, G4double dydx[]) const override
virtual G4EquationOfMotion * GetEquationOfMotion() override
virtual void RenewStepperAndAdjust(G4MagIntegratorStepper *pItsStepper) override
virtual G4int GetVerboseLevel() const override
G4double GetPshrnk() const
virtual G4double AdvanceChordLimited(G4FieldTrack &track, G4double stepMax, G4double epsStep, G4double chordDistance) override
virtual const G4MagIntegratorStepper * GetStepper() const override
G4OldMagIntDriver(G4double hminimum, G4MagIntegratorStepper *pItsStepper, G4int numberOfComponents=6, G4int statisticsVerbosity=0)
G4double ComputeAndSetErrcon()
G4OldMagIntDriver & operator=(const G4OldMagIntDriver &)=delete
void WarnEndPointTooFar(G4double endPointDist, G4double hStepSize, G4double epsilonRelative, G4int debugFlag)
void WarnTooManyStep(G4double x1start, G4double x2end, G4double xCurrent)