Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FunctionBase.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _FunctionBase_H_
00015 #define _FunctionBase_H_
00016 
00017 #ifdef HAVE_CONFIG_H
00018 #include "config.h"
00019 #endif
00020 
00021 #include "pattern/libhippo.h"
00022 
00023 #include <string>
00024 #include <vector>
00025 
00026 class FunctionHelper;
00027 
00092 class MDL_HIPPOPLOT_API FunctionBase
00093 {
00094 
00095 protected:
00096 
00098   FunctionBase ();
00099 
00102   FunctionBase ( const FunctionBase & );
00103 
00105   std::string m_name;
00106 
00108   std::vector<std::string> m_parm_names;
00109 
00111   std::vector < double > m_parms;
00112 
00113 
00116   void setName ( const char * );
00117 
00122   virtual void resize ();
00123 
00131   virtual void initialize ();
00132   
00133  public:
00134 
00135   
00137   virtual ~FunctionBase();
00138 
00140   const std::string & name () const;
00141 
00149   virtual FunctionBase * clone () const;
00150 
00152   virtual int size () const;
00153 
00155   virtual const std::vector < std::string > & parmNames ( ) const;
00156 
00159   void setParmNames ( const std::vector < std::string > & names );
00160 
00164   virtual bool isComposite () const;
00165 
00169   virtual void addToComposite ( FunctionBase * );
00170 
00174   virtual void removeFromComposite ( FunctionBase * );
00175 
00179   virtual int count ();
00180 
00184   virtual const std::vector< double > & getParameters ();
00185 
00190   virtual void setParameters ( const std::vector< double > & incr );
00191 
00195   virtual std::vector< double >::const_iterator 
00196   setParameters ( std::vector< double >::const_iterator it );
00197 
00209   virtual double derivByParm ( int i, double x ) const;
00210 
00215   virtual double operator() ( double x ) const;
00216 
00222   virtual double operator () ( const std::vector < double > & v ) const;
00223 
00226   virtual void initialParameters ( const FunctionHelper * helper );
00227 
00235   virtual bool hasDerivatives () const;
00236 
00242   virtual double integrate ( double lower_limit, double upper_limit ) const;
00243 
00244 };
00245 
00246 #endif // _FunctionBase_H_

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3