CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RKAdaptiveSolver.h
Go to the documentation of this file.
1 #ifndef RKAdaptiveSolver_H
2 #define RKAdaptiveSolver_H
3 
5 
6 //#include "Utilities/UI/interface/SimpleConfigurable.h"
7 
8 template <typename T,
9  template <typename,int> class StepWithPrec,
10  int N>
11 class RKAdaptiveSolver : public RKSolver<T,N> {
12 public:
13 
15  typedef typename Base::Scalar Scalar;
16  typedef typename Base::Vector Vector;
17 
18  virtual Vector operator()( Scalar startPar, const Vector& startState,
19  Scalar step, const RKDerivative<T,N>& deriv,
20  const RKDistance<T,N>& dist,
21  Scalar eps);
22 
23  std::pair< Vector, T>
24  stepWithAccuracy( Scalar startPar, const Vector& startState,
25  const RKDerivative<T,N>& deriv,
26  const RKDistance<T,N>& dist, Scalar step);
27 
28 protected:
29 
30  bool verbose() const {
31  static bool verb = false; //SimpleConfigurable<bool>(false,"RKAdaptiveSolver:verbose").value();
32  return verb;
33  }
34 
35 };
36 
37 #include "TrackPropagation/RungeKutta/src/RKAdaptiveSolver.icc"
38 
39 #endif
virtual Vector operator()(Scalar startPar, const Vector &startState, Scalar step, const RKDerivative< T, N > &deriv, const RKDistance< T, N > &dist, Scalar eps)
std::pair< Vector, T > stepWithAccuracy(Scalar startPar, const Vector &startState, const RKDerivative< T, N > &deriv, const RKDistance< T, N > &dist, Scalar step)
RKSolver< T, N > Base
Base::Scalar Scalar
Base::Vector Vector
ABC for Runge-Kutta solvers.
Definition: RKSolver.h:11
Base class for derivative calculation.
Definition: RKDerivative.h:9
T Scalar
Definition: RKSolver.h:14
bool verbose() const