This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.
00001 /* Generated by Together */ 00002 00003 #ifndef IPARAMETERIZEDFUNCTION_H 00004 #define IPARAMETERIZEDFUNCTION_H 00005 #include "IBasicFunction.h" 00006 #include "INormalizedFunction.h" 00007 00008 00009 00010 class IParameterizedFunction : virtual public IBasicFunction { 00011 public: 00015 virtual void setParameters(const std::vector<double>& params) = 0; 00016 00020 virtual const std::vector<double>& parameters() const = 0; 00021 00025 virtual const std::vector<double>& parameterGradient(const std::vector<double>& x) const = 0; 00026 00030 virtual bool hasParameterGradient() const = 0; 00031 00035 virtual int numberOfParameters() const = 0; 00036 00044 virtual vector < std::string > parameterNames() const = 0; 00045 00046 virtual bool setParameter(string name, double x) = 0; 00047 00048 virtual double parameter(string name) = 0; 00049 }; 00050 00051 #endif //IPARAMETERIZEDFUNCTION_H