36#ifndef G4BULIRSCH_STOER_HH
37#define G4BULIRSCH_STOER_HH
void SetEquationOfMotion(G4EquationOfMotion *equation)
void extrapolate(size_t k, G4double xest[])
G4bool m_last_step_rejected
G4bool set_k_opt(size_t k, G4double &dt)
void set_max_dt(G4double max_dt)
G4int m_interval_sequence[m_k_max+1]
G4BulirschStoer(G4EquationOfMotion *equation, G4int nvar, G4double eps_rel, G4double max_dt=DBL_MAX)
G4double m_err[G4FieldTrack::ncompSVEC]
G4ModifiedMidpoint m_midpoint
static const G4int m_k_max
G4bool in_convergence_window(G4int k) const
G4int GetNumberOfVariables() const
G4double m_coeff[m_k_max+1][m_k_max]
step_result try_step(const G4double in[], const G4double dxdt[], G4double &t, G4double out[], G4double &dt)
G4bool should_reject(G4double error, G4int k) const
G4EquationOfMotion * GetEquationOfMotion()
void set_max_relative_error(G4double eps_rel)
G4double m_table[m_k_max][G4FieldTrack::ncompSVEC]
G4double calc_h_opt(G4double h, G4double error, size_t k) const
G4double h_opt[m_k_max+1]
static PROLOG_HANDLER error