35#ifndef G4INTERPOLATION_DRIVER_HH
36#define G4INTERPOLATION_DRIVER_HH
53 G4int numberOfComponents = 6,
54 G4int statisticsVerbosity = 0);
83 virtual void StreamInfo( std::ostream& os )
const override;
static const G4double eps
const G4double fSmallestCurveFraction
typename std::vector< InterpStepper >::const_iterator ConstStepperIterator
void InterpolateImpl(G4double curveLength, ConstStepperIterator it, field_utils::State &y) const
G4InterpolationDriver(const G4InterpolationDriver &)=delete
G4double fChordStepEstimate
virtual ~G4InterpolationDriver() override
const G4double fFractionNextEstimate
void AccumulateStatistics(G4int noTrials)
void Interpolate(G4double curveLength, field_utils::State &y) const
typename std::vector< InterpStepper >::iterator StepperIterator
G4int fTotalStepsForTrack
G4double OneGoodStep(StepperIterator it, field_utils::State &y, field_utils::State &dydx, G4double &hstep, G4double eps, G4double curveLength)
G4double DistChord(const field_utils::State &yBegin, G4double curveLengthBegin, const field_utils::State &yEnd, G4double curveLengthEnd) const
const G4InterpolationDriver & operator=(const G4InterpolationDriver &)=delete
virtual void OnComputeStep() override
virtual void StreamInfo(std::ostream &os) const override
std::vector< InterpStepper > fSteppers
virtual void OnStartTracking() override
virtual G4bool DoesReIntegrate() const override
virtual G4int GetVerboseLevel() const override
virtual G4bool AccurateAdvance(G4FieldTrack &track, G4double hstep, G4double eps, G4double hinitial=0) override
virtual G4double AdvanceChordLimited(G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance) override
G4InterpolationDriver(G4double hminimum, T *stepper, G4int numberOfComponents=6, G4int statisticsVerbosity=0)
G4double FindNextChord(const field_utils::State &yBegin, G4double curveLengthBegin, field_utils::State &yEnd, G4double curveLengthEnd, G4double dChord, G4double maxChordDistance)
G4double CalcChordStep(G4double stepTrialOld, G4double dChordStep, G4double fDeltaChord)
StepperIterator fLastStepper
virtual void SetVerboseLevel(G4int level) override
G4double[G4FieldTrack::ncompSVEC] State
std::unique_ptr< T > stepper