42#ifndef G4TExplicitEuler_HH
43#define G4TExplicitEuler_HH
52template <
class T_Equation,
int N>
62 (EqRhs, numberOfVariables), fEquation_Rhs(EqRhs)
64 if( numberOfVariables !=
N )
67 msg <<
"Equation has an incompatible number of variables." ;
68 msg <<
" template N = " <<
N <<
" equation-Nvar= "
70 G4Exception(
"G4TExplicitEuler: constructor",
"GeomField0003",
84 for(
G4int i = 0; i <
N; ++i)
86 yOut[i] = yIn[i] + h * dydx[i];
96 T_Equation* fEquation_Rhs;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
~G4TExplicitEuler()=default
static constexpr double IntegratorCorrection
void DumbStepper(const G4double yIn[], const G4double dydx[], G4double h, G4double yOut[])
G4int IntegratorOrder() const
G4TExplicitEuler(T_Equation *EqRhs, G4int numberOfVariables=N)
G4TMagErrorStepper(T_Equation *EqRhs, G4int numberOfVariables, G4int numStateVariables=12)