41 #ifndef G4MagInt_Driver_Def
42 #define G4MagInt_Driver_Def
53 G4int numberOfComponents = 6,
54 G4int statisticsVerbosity = 1);
250 #include "G4MagIntegratorDriver.icc"
G4double GetSmallestFraction() const
virtual G4bool AccurateAdvance(G4FieldTrack &y_current, G4double hstep, G4double eps, G4double hinitial=0.0) override
void SetErrcon(G4double valEc)
virtual G4int GetVerboseLevel() const override
virtual G4bool QuickAdvance(G4FieldTrack &y_val, const G4double dydx[], G4double hstep, G4double &dchord_step, G4double &dyerr) override
G4MagInt_Driver & operator=(const G4MagInt_Driver &)=delete
void PrintStatisticsReport()
G4double GetPshrnk() const
void SetSmallestFraction(G4double val)
virtual G4double ComputeNewStepSize(G4double errMaxNorm, G4double hstepCurrent) override
G4double ComputeAndSetErrcon()
void SetMaxNoSteps(G4int val)
void WarnSmallStepSize(G4double hnext, G4double hstep, G4double h, G4double xDone, G4int noSteps)
const G4int fNoIntegrationVariables
G4MagInt_Driver(G4double hminimum, G4MagIntegratorStepper *pItsStepper, G4int numberOfComponents=6, G4int statisticsVerbosity=1)
unsigned long fNoSmallSteps
void WarnEndPointTooFar(G4double endPointDist, G4double hStepSize, G4double epsilonRelative, G4int debugFlag)
void SetSafety(G4double valS)
G4double GetSafety() const
virtual void GetDerivatives(const G4FieldTrack &y_curr, G4double dydx[]) const override
void SetHmin(G4double newval)
G4MagIntegratorStepper * pIntStepper
G4int GetMaxNoSteps() const
void PrintStatus(const G4double *StartArr, G4double xstart, const G4double *CurrentArr, G4double xcurrent, G4double requestStep, G4int subStepNo)
virtual void SetEquationOfMotion(G4EquationOfMotion *equation) override
G4double fSmallestFraction
virtual G4EquationOfMotion * GetEquationOfMotion() override
G4double ComputeNewStepSize_WithinLimits(G4double errMaxNorm, G4double hstepCurrent)
void SetPshrnk(G4double valPs)
G4int fStatisticsVerboseLevel
G4double GetPgrow() const
virtual ~G4MagInt_Driver() override
void ReSetParameters(G4double new_safety=0.9)
G4double GetErrcon() const
void SetPgrow(G4double valPg)
static const G4double eps
unsigned long fNoInitialSmallSteps
unsigned long fNoTotalSteps
unsigned long fNoBadSteps
void OneGoodStep(G4double ystart[], const G4double dydx[], G4double &x, G4double htry, G4double eps, G4double &hdid, G4double &hnext)
virtual void RenewStepperAndAdjust(G4MagIntegratorStepper *pItsStepper) override
void PrintStat_Aux(const G4FieldTrack &aFieldTrack, G4double requestStep, G4double actualStep, G4int subStepNo, G4double subStepSize, G4double dotVelocities)
void WarnTooManyStep(G4double x1start, G4double x2end, G4double xCurrent)
virtual const G4MagIntegratorStepper * GetStepper() const override
virtual void SetVerboseLevel(G4int newLevel) override