File indexing completed on 2025-01-30 10:03:27
0001 #ifndef _StepDoublingRKStepper_hh_
0002 #define _StepDoublingRKStepper_hh_
0003 #include "CLHEP/GenericFunctions/AdaptiveRKStepper.hh"
0004 #include "CLHEP/GenericFunctions/ButcherTableau.hh"
0005
0006
0007
0008
0009 namespace Genfun {
0010
0011 class StepDoublingRKStepper: public AdaptiveRKStepper::EEStepper {
0012
0013 public:
0014
0015
0016 StepDoublingRKStepper(const ButcherTableau & tableau);
0017
0018
0019 virtual ~StepDoublingRKStepper();
0020
0021
0022 virtual void step (const RKIntegrator::RKData * data,
0023 const RKIntegrator::RKData::Data & sdata,
0024 RKIntegrator::RKData::Data & ddata,
0025 std::vector<double> & errors) const;
0026
0027 virtual StepDoublingRKStepper *clone() const;
0028
0029 void doStep(const RKIntegrator::RKData * data,
0030 const RKIntegrator::RKData::Data & s,
0031 RKIntegrator::RKData::Data & d) const;
0032
0033 virtual unsigned int order() const;
0034
0035 private:
0036 ButcherTableau tableau;
0037
0038 };
0039 }
0040 #endif