CMS 3D CMS Logo

RKAdaptiveSolver.h
Go to the documentation of this file.
1 #ifndef RKAdaptiveSolver_H
2 #define RKAdaptiveSolver_H
3 
5 #include "RKSolver.h"
6 
7 //
8 // A Variable Order Runge-Kutta Method for Initial Value Problems with ...
9 // www.elegio.it/mc2/rk/doc/p201-cash-karp.pdf
10 template <typename T,
11  template <typename,int> class StepWithPrec,
12  int N>
13 class dso_internal RKAdaptiveSolver final : public RKSolver<T,N> {
14 public:
15 
17  typedef typename Base::Scalar Scalar;
18  typedef typename Base::Vector Vector;
19 
20  Vector operator()( Scalar startPar, const Vector& startState,
21  Scalar step, const RKDerivative<T,N>& deriv,
22  const RKDistance<T,N>& dist,
23  float eps) override;
24 
25 };
26 
27 #include "TrackPropagation/RungeKutta/src/RKAdaptiveSolver.icc"
28 
29 #endif
RKSolver< T, N > Base
Base::Scalar Scalar
Base::Vector Vector
RKSmallVector< T, N > Vector
Definition: RKSolver.h:18
ABC for Runge-Kutta solvers.
Definition: RKSolver.h:14
Base class for derivative calculation.
Definition: RKDerivative.h:13
#define N
Definition: blowfish.cc:9
T Scalar
Definition: RKSolver.h:17
#define dso_internal
virtual Vector operator()(Scalar startPar, const Vector &startState, Scalar step, const RKDerivative< T, N > &deriv, const RKDistance< T, N > &dist, float eps)=0
step
long double T