Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:43

0001 #ifndef RKAdaptiveSolver_H
0002 #define RKAdaptiveSolver_H
0003 
0004 #include "FWCore/Utilities/interface/Visibility.h"
0005 #include "RKSolver.h"
0006 
0007 //
0008 // A Variable Order Runge-Kutta Method for Initial Value Problems with ...
0009 // www.elegio.it/mc2/rk/doc/p201-cash-karp.pdf
0010 template <typename T, template <typename, int> class StepWithPrec, int N>
0011 class dso_internal RKAdaptiveSolver final : public RKSolver<T, N> {
0012 public:
0013   typedef RKSolver<T, N> Base;
0014   typedef typename Base::Scalar Scalar;
0015   typedef typename Base::Vector Vector;
0016 
0017   Vector operator()(Scalar startPar,
0018                     const Vector& startState,
0019                     Scalar step,
0020                     const RKDerivative<T, N>& deriv,
0021                     const RKDistance<T, N>& dist,
0022                     float eps) override;
0023 };
0024 
0025 #include "TrackPropagation/RungeKutta/src/RKAdaptiveSolver.icc"
0026 
0027 #endif