CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

CLHEP/GenericFunctions/StepDoublingRKStepper.hh
Go to the documentation of this file.
1 #ifndef _FelhbergStepper_hh_
2 #define _StepDoublingRKStepper_hh_
5 //
6 // Class StepDoublingRK stepper is a class at that implements
7 // Fehlberg algorithms, or embedded Runge-Kutta Algorithms.
8 //
9 namespace Genfun {
10 
12 
13  public:
14 
15  // Constructor:
16  StepDoublingRKStepper(const ButcherTableau & tableau);
17 
18  // Destructor:
19  virtual ~StepDoublingRKStepper();
20 
21  // Take a single step with error estimate:
22  virtual void step (const RKIntegrator::RKData * data,
23  const RKIntegrator::RKData::Data & sdata,
25  std::vector<double> & errors) const;
26  // Clone self:
27  virtual StepDoublingRKStepper *clone() const;
28 
29  void doStep(const RKIntegrator::RKData * data,
30  const RKIntegrator::RKData::Data & s,
31  RKIntegrator::RKData::Data & d) const;
32 
33  virtual unsigned int order() const;
34 
35  private:
36  ButcherTableau tableau;
37 
38  };
39 }
40 #endif
virtual void step(const RKIntegrator::RKData *data, const RKIntegrator::RKData::Data &sdata, RKIntegrator::RKData::Data &ddata, std::vector< double > &errors) const
virtual unsigned int order() const
void doStep(const RKIntegrator::RKData *data, const RKIntegrator::RKData::Data &s, RKIntegrator::RKData::Data &d) const
virtual StepDoublingRKStepper * clone() const
StepDoublingRKStepper(const ButcherTableau &tableau)