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 #include "RKSolver.h"
6 
7 //#include "Utilities/UI/interface/SimpleConfigurable.h"
8 
9 template <typename T,
10  template <typename,int> class StepWithPrec,
11  int N>
12 class dso_internal RKAdaptiveSolver : public RKSolver<T,N> {
13 public:
14 
16  typedef typename Base::Scalar Scalar;
17  typedef typename Base::Vector Vector;
18 
19  virtual Vector operator()( Scalar startPar, const Vector& startState,
20  Scalar step, const RKDerivative<T,N>& deriv,
21  const RKDistance<T,N>& dist,
22  Scalar eps);
23 
24  std::pair< Vector, T>
25  stepWithAccuracy( Scalar startPar, const Vector& startState,
26  const RKDerivative<T,N>& deriv,
27  const RKDistance<T,N>& dist, Scalar step);
28 
29 protected:
30 
31  bool verbose() const {
32  static bool verb = false; //SimpleConfigurable<bool>(false,"RKAdaptiveSolver:verbose").value();
33  return verb;
34  }
35 
36 };
37 
38 #include "TrackPropagation/RungeKutta/src/RKAdaptiveSolver.icc"
39 
40 #endif
list step
Definition: launcher.py:15
RKSolver< T, N > Base
Base::Scalar Scalar
Base::Vector Vector
#define dso_internal
Definition: Visibility.h:13
ABC for Runge-Kutta solvers.
Definition: RKSolver.h:12
Base class for derivative calculation.
Definition: RKDerivative.h:10
#define N
Definition: blowfish.cc:9
T Scalar
Definition: RKSolver.h:15
bool verbose() const
long double T
virtual Vector operator()(Scalar startPar, const Vector &startState, Scalar step, const RKDerivative< T, N > &deriv, const RKDistance< T, N > &dist, Scalar eps)=0