37#ifndef G4TMAG_ERROR_STEPPER_HH 
   38#define G4TMAG_ERROR_STEPPER_HH 
   45template <
class T_Stepper, 
class T_Equation, 
unsigned int N>
 
   50                     G4int numStateVariables = 12)
 
   93template <class T_Stepper, class T_Equation, 
unsigned int N >
 
  108  for(
unsigned int i = 0; i < N; ++i)
 
  115  for(
unsigned int i = N; i < maxvar; ++i)
 
  116     yOutput[i] = yInput[i];
 
  122  static_cast<T_Stepper*
>(
this)->DumbStepper(
yInitial, dydx, halfStep,
 
  125  static_cast<T_Stepper*
>(
this)->DumbStepper(
yMiddle, 
dydxMid, halfStep,
 
  133  static_cast<T_Stepper*
>(
this)->DumbStepper(
yInitial, dydx, hstep, 
yOneStep);
 
  134  for(
unsigned int i = 0; i < N; ++i)
 
  136    yError[i] = yOutput[i] - 
yOneStep[i];
 
  139       T_Stepper::IntegratorCorrection;  
 
  151template <
class T_Stepper, 
class T_Equation, 
unsigned int N >
 
  171    distChord = distLine;
 
CLHEP::Hep3Vector G4ThreeVector
static G4double Distline(const G4ThreeVector &OtherPnt, const G4ThreeVector &LinePntA, const G4ThreeVector &LinePntB)
G4int GetNumberOfStateVariables() const
G4ThreeVector fFinalPoint
G4double DistChord() const override final
G4ThreeVector fInitialPoint
G4TMagErrorStepper(T_Equation *EqRhs, G4int numberOfVariables, G4int numStateVariables=12)
G4double yInitial[N< 8 ? 8 :N]
G4double yOneStep[N< 8 ? 8 :N]
G4double dydxMid[N< 8 ? 8 :N]
T_Equation * fEquation_Rhs
virtual ~G4TMagErrorStepper()
void RightHandSide(G4double y[], G4double dydx[])
void Stepper(const G4double yInput[], const G4double dydx[], G4double hstep, G4double yOutput[], G4double yError[]) override final
G4double yMiddle[N< 8 ? 8 :N]