CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/TrackPropagation/RungeKutta/interface/RKAdaptiveSolver.h

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