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

LinearSumFunction.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _LinearSumFunction_H_
00015 #define _LinearSumFunction_H_
00016 
00017 #include "functions/FunctionBase.h"
00018 
00024 class MDL_HIPPOPLOT_API LinearSumFunction : public FunctionBase
00025 {
00026 
00027 private:
00028 
00029   typedef std::vector < FunctionBase * > FunctionList_t;
00030   FunctionList_t m_functions;
00031 
00032 protected:
00033 
00035   virtual void initialize ();
00036 
00037 public:
00038 
00040   LinearSumFunction ( );
00041 
00043   LinearSumFunction ( const LinearSumFunction & );
00044   
00045   virtual FunctionBase * clone () const;
00046   
00047   const std::vector < std::string > & parmNames() const;
00048 
00049   void freeParmNames ( std::vector< std::string > & names ) const;
00050   
00051   virtual const std::vector< double > & getParameters ();
00052   
00053   virtual std::vector< double >::const_iterator 
00054   setParameters ( std::vector< double >::const_iterator it );
00055   
00058   virtual int count ();
00059   
00060   virtual int size () const;
00061 
00063   virtual bool isComposite () const;
00064   
00066   virtual void addToComposite ( FunctionBase * );
00067   
00069   virtual void removeFromComposite ( FunctionBase * );
00070   
00072   virtual double operator () ( double x ) const;
00073 
00074   virtual void initialParameters ( const FunctionHelper * helper );
00075 
00076   virtual double derivByParm ( int i, double x ) const;
00077 
00078 };
00079 
00080 #endif // _LinearSumFunction_H_

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3