FunctionBase.h
Go to the documentation of this file.
1 /* -*- mode: c++ -*- */
2 
14 #ifndef _FunctionBase_H_
15 #define _FunctionBase_H_
16 
17 #include "pattern/libhippo.h"
18 
19 #include <string>
20 #include <vector>
21 
22 namespace hippodraw {
23 
24 class FunctionHelper;
25 
91 {
92 
93 protected:
94 
96  FunctionBase ();
97 
100  FunctionBase ( const FunctionBase & );
101 
103  std::string m_name;
104 
106  std::vector<std::string> m_parm_names;
107 
109  std::vector < double > m_parms;
110 
111 
114  void setName ( const char * );
115 
120  virtual void resize ();
121 
129  virtual void initialize ();
130 
131  public:
132 
133 
135  virtual ~FunctionBase();
136 
138  const std::string & name () const;
139 
147  virtual FunctionBase * clone () const;
148 
150  virtual int size () const;
151 
153  virtual const std::vector < std::string > & parmNames ( ) const;
154 
157  void setParmNames ( const std::vector < std::string > & names );
158 
162  virtual bool isComposite () const;
163 
167  virtual void addToComposite ( FunctionBase * );
168 
172  virtual void removeFromComposite ( FunctionBase * );
173 
177  virtual int count ();
178 
182  virtual const std::vector< double > & getParameters () const;
183 
188  virtual void setParameters ( const std::vector< double > & incr );
189 
193  virtual std::vector< double >::const_iterator
194  setParameters ( std::vector< double >::const_iterator it );
195 
207  virtual double derivByParm ( int i, double x ) const;
208 
213  virtual double operator() ( double x ) const;
214 
220  virtual double operator () ( const std::vector < double > & v ) const;
221 
224  virtual void initialParameters ( const FunctionHelper * helper );
225 
233  virtual bool hasDerivatives () const;
234 
240  virtual double integrate ( double lower_limit, double upper_limit ) const;
241 
247  virtual unsigned int dimensions () const;
248 
249 };
250 
251 } // namespace hippodraw
252 
253 #endif // _FunctionBase_H_

Generated for HippoDraw Class Library by doxygen