1 #ifndef RKOne4OrderStep_H 2 #define RKOne4OrderStep_H 9 template <
typename T,
int N>
20 const Scalar huge = 1.e5;
21 const Scalar hugediff = 100.;
24 Vector
one( solver(startPar, startState, deriv, step));
25 if (
std::abs(one[0])>huge ||
std::abs(one(1))>huge)
return std::pair<Vector, Scalar>(one,hugediff);
27 Vector firstHalf( solver(startPar, startState, deriv, step/2));
28 Vector secondHalf(solver(startPar+step/2, firstHalf, deriv, step/2));
29 Scalar
diff = dist(one, secondHalf, startPar+step);
30 return std::pair<Vector, Scalar>(secondHalf,
diff);
ROOT::Math::SVector< T, N > RKSmallVector
RKSmallVector< T, N > Vector
Abs< T >::type abs(const T &t)
Base class for derivative calculation.
std::pair< Vector, T > operator()(Scalar startPar, const Vector &startState, const RKDerivative< T, N > &deriv, const RKDistance< T, N > &dist, Scalar step)