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;
225 G4double fSmallestFraction = 1.0e-12;
229 const G4int fNoIntegrationVariables = 0;
230 const G4int fMinNoVars = 12;
231 const G4int fNoVars = 0;
234 G4int fMaxStepBase = 250;
243 G4int fStatisticsVerboseLevel = 0;
253 unsigned long fNoTotalSteps=0, fNoBadSteps=0;
254 unsigned long fNoSmallSteps=0, fNoInitialSmallSteps=0, fNoCalls=0;
255 G4double fDyerr_max=0.0, fDyerr_mx2=0.0;
256 G4double fDyerrPos_smTot=0.0, fDyerrPos_lgTot=0.0, fDyerrVel_lgTot=0.0;
257 G4double fSumH_sm=0.0, fSumH_lg=0.0;
260 G4int fVerboseLevel = 0;
266#include "G4OldMagIntDriver.icc"
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
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)
G4double GetSmallestFraction() const
G4double GetPgrow() const
virtual G4bool AccurateAdvance(G4FieldTrack &y_current, G4double hstep, G4double eps, G4double hinitial=0.0) override
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
G4double GetSafety() const
G4double GetErrcon() const
void SetSmallestFraction(G4double val)
void StreamInfo(std::ostream &os) const override
void SetMaxNoSteps(G4int val)
virtual G4double ComputeNewStepSize(G4double errMaxNorm, G4double hstepCurrent) override
void SetErrcon(G4double valEc)
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
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)