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