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, template <typename, int> class StepWithPrec, int N>
11 class dso_internal RKAdaptiveSolver final : public RKSolver<T, N> {
12 public:
14  typedef typename Base::Scalar Scalar;
15  typedef typename Base::Vector Vector;
16 
17  Vector operator()(Scalar startPar,
18  const Vector& startState,
19  Scalar step,
20  const RKDerivative<T, N>& deriv,
21  const RKDistance<T, N>& dist,
22  float eps) override;
23 };
24 
25 #include "TrackPropagation/RungeKutta/src/RKAdaptiveSolver.icc"
26 
27 #endif
RKSolver::Scalar
T Scalar
Definition: RKSolver.h:15
Visibility.h
RKSolver::Vector
RKSmallVector< T, N > Vector
Definition: RKSolver.h:16
step
step
Definition: StallMonitor.cc:94
RKSolver
ABC for Runge-Kutta solvers.
Definition: RKSolver.h:13
RKAdaptiveSolver::Scalar
Base::Scalar Scalar
Definition: RKAdaptiveSolver.h:14
RKAdaptiveSolver
Definition: RKAdaptiveSolver.h:11
RKSolver.h
RKAdaptiveSolver::Base
RKSolver< T, N > Base
Definition: RKAdaptiveSolver.h:13
N
#define N
Definition: blowfish.cc:9
RKSolver::operator()
virtual Vector operator()(Scalar startPar, const Vector &startState, Scalar step, const RKDerivative< T, N > &deriv, const RKDistance< T, N > &dist, float eps)=0
dso_internal
#define dso_internal
Definition: Visibility.h:13
RKDerivative
Base class for derivative calculation.
Definition: RKDerivative.h:10
RKAdaptiveSolver::Vector
Base::Vector Vector
Definition: RKAdaptiveSolver.h:15
RKDistance
Definition: RKDistance.h:8