30#define RKIntegrator_h 1
31#include "CLHEP/GenericFunctions/AbsFunction.hh"
32#include "CLHEP/GenericFunctions/Parameter.hh"
33#include "CLHEP/GenericFunctions/RCBase.hh"
63 const std::string & variableName=
"anon",
64 double defStartingValue=0.0,
65 double startingValueMin=0.0,
66 double startingValueMax=0.0);
72 double defStartingValue=0.0,
73 double startingValueMin=0.0,
74 double startingValueMax=0.0);
96 std::vector<const RKFunction *> _fcn;
156 virtual double operator ()(
double argument)
const override;
166 const unsigned int _index;
179 double timeLimit=0)
const =0;
#define FUNCTION_OBJECT_DEF(classname)
std::vector< Parameter * > _startingValParameter
std::vector< double > _startingValParameterCache
std::vector< double > _controlParameterCache
std::vector< const AbsFunction * > _diffEqn
friend class ImaginaryFriend
std::vector< Parameter * > _controlParameter
const RKStepper * _stepper
virtual double operator()(double argument) const override
virtual void step(const RKIntegrator::RKData *data, const RKIntegrator::RKData::Data &sdata, RKIntegrator::RKData::Data &ddata, double timeLimit=0) const =0
virtual RKStepper * clone() const =0
Parameter * addDiffEquation(const AbsFunction *diffEquation, const std::string &variableName="anon", double defStartingValue=0.0, double startingValueMin=0.0, double startingValueMax=0.0)
Parameter * createControlParameter(const std::string &variableName="anon", double defStartingValue=0.0, double startingValueMin=0.0, double startingValueMax=0.0)
const RKFunction * getFunction(unsigned int i) const
bool operator<(const Data &right) const
bool operator==(const Data &right) const
std::vector< double > firstDerivative
std::vector< double > variable