Go to the documentation of this file.00001 #ifndef RKAdaptiveSolver_H
00002 #define RKAdaptiveSolver_H
00003
00004 #include "FWCore/Utilities/interface/Visibility.h"
00005 #include "RKSolver.h"
00006
00007
00008
00009 template <typename T,
00010 template <typename,int> class StepWithPrec,
00011 int N>
00012 class dso_internal RKAdaptiveSolver : public RKSolver<T,N> {
00013 public:
00014
00015 typedef RKSolver<T,N> Base;
00016 typedef typename Base::Scalar Scalar;
00017 typedef typename Base::Vector Vector;
00018
00019 virtual Vector operator()( Scalar startPar, const Vector& startState,
00020 Scalar step, const RKDerivative<T,N>& deriv,
00021 const RKDistance<T,N>& dist,
00022 Scalar eps);
00023
00024 std::pair< Vector, T>
00025 stepWithAccuracy( Scalar startPar, const Vector& startState,
00026 const RKDerivative<T,N>& deriv,
00027 const RKDistance<T,N>& dist, Scalar step);
00028
00029 protected:
00030
00031 bool verbose() const {
00032 static bool verb = false;
00033 return verb;
00034 }
00035
00036 };
00037
00038 #include "TrackPropagation/RungeKutta/src/RKAdaptiveSolver.icc"
00039
00040 #endif