FunctionRep.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _FunctionRep_H_
00015 #define _FunctionRep_H_
00016 
00017 #include "DataRep.h"
00018 
00019 namespace hippodraw {
00020 
00021 class Fitter;
00022 class FunctionBase;
00023 class FunctionParameter;
00024 
00034 class MDL_HIPPOPLOT_API FunctionRep
00035   : public hippodraw::DataRep
00036 {
00037 
00038 private:
00039 
00043   bool m_in_composite;
00044 
00045 protected:
00046 
00051   DataRep * m_target;
00052 
00055    FunctionRep ( FunctionBase * function, DataRep * rep );
00056 
00059   FunctionRep ( const FunctionRep & );
00060 
00061 public:
00062 
00066   virtual ~FunctionRep ();
00067 
00070   virtual DataRep * clone ();
00071 
00074   void initializeWith ( DataRep * );
00075 
00078   virtual bool hasNTupleBindings () const;
00079 
00083   bool isComposite () const;
00084 
00087   bool isInComposite () const;
00088 
00091   void setInComposite ( bool yes );
00092 
00094   FunctionBase * getFunction () const;
00095 
00097   DataRep * getTarget () const;
00098 
00101   void setTarget ( DataRep * rep );
00102 
00106   bool setFitter ( Fitter * fitter );
00107 
00109   Fitter * getFitter ( ) const;
00110 
00112   const std::string & getFitterName () const;
00113 
00116   bool fitFunction ( );
00117 
00120   double objectiveValue () const;
00121 
00125   const std::vector < std::vector < double > > & covarianceMatrix () const;
00126 
00130   int degreesOfFreedom () const;
00131 
00134   const std::vector < std::string > & parmNames () const;
00135 
00139   const std::vector < int > & getFixedFlags () const;
00140 
00142   const std::vector < double > & parameters () const;
00143 
00145   const std::vector< double > & principleErrors() const;
00146   
00149   void setPrincipleErrors ( std::vector < double >::const_iterator begin, 
00150                             std::vector < double >::const_iterator end );
00151 
00153   void saveParameters ();
00154 
00156   void restoreParameters ();
00157 
00159   void setParameters ( const std::vector<double> & params );
00160 
00163   virtual void setFixedFlags ( const std::vector < int > & flags );
00164 
00167   void willDelete ( const Observable * observed );
00168 
00172   virtual bool isTargetable () const;
00173 
00176   void setCutRange ( const Range & );
00177 
00180   void setTupleCut ();
00181 
00184   void removeCut ();
00185 
00188   void setCutRange ( bool yes = true );
00189 
00193   bool hasZoomY () const;
00194 
00197   void setIgnoreError(bool ignore);
00198 
00203   bool getIgnoreErrors() const;
00204 
00208   virtual
00209   void fillFunctionParameters ( std::vector < FunctionParameter > & ) const;
00210 
00214   virtual void addToComposite ( FunctionRep * frep );
00215 
00219   virtual void removeFromComposite ( FunctionRep * frep );
00220 
00223   const std::string & functionName () const;
00224 
00225 };
00226 
00227 } // namespace hippodraw
00228 
00229 #endif // _FunctionRep_H_

Generated for HippoDraw Class Library by doxygen