36#ifndef G4OLD_MAGINT_DRIVER_HH
37#define G4OLD_MAGINT_DRIVER_HH
62 G4int numberOfComponents = 6,
63 G4int statisticsVerbosity = 0);
231 void StreamInfo( std::ostream& os )
const override;
316 G4double fSmallestFraction = 1.0e-12;
319 const G4int fNoIntegrationVariables = 0;
322 const G4int fMinNoVars = 12;
325 const G4int fNoVars = 0;
329 G4int fMaxStepBase = 250;
337 G4int fStatisticsVerboseLevel = 0;
348 unsigned long fNoTotalSteps=0, fNoBadSteps=0;
349 unsigned long fNoSmallSteps=0, fNoInitialSmallSteps=0, fNoCalls=0;
350 G4double fDyerr_max=0.0, fDyerr_mx2=0.0;
351 G4double fDyerrPos_smTot=0.0, fDyerrPos_lgTot=0.0, fDyerrVel_lgTot=0.0;
352 G4double fSumH_sm=0.0, fSumH_lg=0.0;
355 G4int fVerboseLevel = 0;
360#include "G4OldMagIntDriver.icc"
G4ChordFinderDelegate is a templated class for a common algorithm of finding step size with distance ...
G4EquationOfMotion is the abstract base class for the right hand size of the equation of motion of a ...
G4FieldTrack defines a data structure bringing together a magnetic track's state (position,...
G4MagIntegratorStepper is an abstract base class for integrator of particle's equation of motion,...
void PrintStat_Aux(const G4FieldTrack &aFieldTrack, G4double requestStep, G4double actualStep, G4int subStepNo, G4double subStepSize, G4double dotVelocities)
G4bool QuickAdvance(G4FieldTrack &y_val, const G4double dydx[], G4double hstep, G4double &dchord_step, G4double &dyerr) override
void OnComputeStep(const G4FieldTrack *=nullptr) 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)
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
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)
void SetSafety(G4double valS)
void WarnSmallStepSize(G4double hnext, G4double hstep, G4double h, G4double xDone, G4int noSteps)
void ReSetParameters(G4double new_safety=0.9)
~G4OldMagIntDriver() override
void SetEquationOfMotion(G4EquationOfMotion *equation) override
G4double GetSafety() const
G4double GetErrcon() const
void SetSmallestFraction(G4double val)
void StreamInfo(std::ostream &os) const override
void GetDerivatives(const G4FieldTrack &y_curr, G4double dydx[]) const override
void SetMaxNoSteps(G4int val)
G4double ComputeNewStepSize(G4double errMaxNorm, G4double hstepCurrent) override
void SetErrcon(G4double valEc)
void OnStartTracking() override
G4EquationOfMotion * GetEquationOfMotion() override
void RenewStepperAndAdjust(G4MagIntegratorStepper *pItsStepper) override
G4bool DoesReIntegrate() const override
G4double AdvanceChordLimited(G4FieldTrack &track, G4double stepMax, G4double epsStep, G4double chordDistance) override
G4double GetPshrnk() const
G4int GetVerboseLevel() const override
const G4MagIntegratorStepper * GetStepper() const override
G4OldMagIntDriver(G4double hminimum, G4MagIntegratorStepper *pItsStepper, G4int numberOfComponents=6, G4int statisticsVerbosity=0)
G4double ComputeAndSetErrcon()
G4OldMagIntDriver & operator=(const G4OldMagIntDriver &)=delete
void SetVerboseLevel(G4int newLevel) override
void WarnEndPointTooFar(G4double endPointDist, G4double hStepSize, G4double epsilonRelative, G4int debugFlag)
void WarnTooManyStep(G4double x1start, G4double x2end, G4double xCurrent)