PyFunctionRep.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef PyFunctionRep_H
00015 #define PyFunctionRep_H
00016 
00017 #include <string>
00018 #include <vector>
00019 
00020 namespace hippodraw {
00021 
00022 class DataRep;
00023 class PyDataRep;
00024 class FunctionRep;
00025 class FunctionBase;
00026 class PlotterBase;
00027 class QtDisplay;
00028 
00041 class PyFunctionRep
00042 {
00043 
00044 private:
00045 
00047   FunctionRep * m_rep;
00048 
00050   PlotterBase * m_target;
00051 
00052 public:
00053 
00056   PyFunctionRep ( const std::string & function_name, PyDataRep * rep );
00057 
00060   PyFunctionRep ( FunctionBase * function, PyDataRep * rep );
00061 
00064   PyFunctionRep ( FunctionBase * function );
00065 
00067   void addTo ( QtDisplay * display );
00068 
00070   hippodraw::DataRep * getRep () const;
00071 
00073   const std::vector < std::string > &  parmNames () const;
00074 
00080   const std::vector < double > &  parameters () const;
00081 
00083   const std::vector < double > & principleErrors () const;
00084   
00090   bool fitFunction ();
00091 
00093    void setParameters( const std::vector<double> & params );
00094 
00097   double operator () ( double x );
00098 
00100    double objectiveValue();
00101 
00104   const std::vector < std::vector < double > > & covarianceMatrix ();
00105 
00107    int degreesOfFreedom();
00108 
00110    void setFixedFlags( const std::vector<int> & flags );
00111 
00114   void setFitter ( const std::string & name );
00115 
00118   const std::string & getFitterName () const;
00119       
00123   QtDisplay * createResidualsDisplay () const;
00124 
00127   void setFitRange ( double low, double high );
00128 
00131   void setFitRangeEnabled ( bool yes = true );
00132 
00133 };
00134 
00135 } // namespace hippodraw
00136 
00137 #endif // PyFunctionRep_H

Generated for HippoDraw Class Library by doxygen