Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

FunctionFactory.h

Go to the documentation of this file.
00001  /**********************************************************************
00002   *                                                                    *
00003   * Copyright (c) 2002 Jakub MOSCICKI, CERN/IT                       *
00004   *                   <Jakub.MOSCICKI@cern.ch>                       *
00005   *                                                                    *
00006   * This library is free software; you can redistribute it and/or      *
00007   * modify it under the terms of the GNU Lesser General Public         *
00008   * License as published by the Free Software Foundation; either       *
00009   * version 2.1 of the License, or (at your option) any later version. *
00010   *                                                                    *
00011   * This library is distributed in the hope that it will be useful,    *
00012   * but WITHOUT ANY WARRANTY; without even the implied warranty of     *
00013   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   *
00014   * Lesser General Public License for more details.                    *
00015   *                                                                    *
00016   * You should have received a copy of the GNU Lesser General Public   *
00017   * License along with this library (see file COPYING); if not, write  *
00018   * to the Free Software Foundation, Inc., 59 Temple Place, Suite      *
00019   * 330, Boston, MA 02111-1307 USA, or contact the author at           *
00020   *  <Jakub.MOSCICKI@cern.ch>                                        *
00021   **********************************************************************/
00022 
00023 // Header file for class FunctionFactory 
00024 // 
00025 // Created by: Jakub MOSCICKI  at Tue Jan 15 13:05:55 2002
00026 // 
00027 // Last update: Tue Jan 15 13:05:55 2002
00028 // 
00029 #ifndef FUNCTIONFACTORY_H
00030 #define FUNCTIONFACTORY_H
00031 
00032 # include "AIDA/IFunctionFactory.h"
00033 
00034 class FunctionFactory : virtual public IFunctionFactory
00035 { 
00036 
00037 public: 
00038   FunctionFactory(); 
00039   virtual ~FunctionFactory(); 
00040 
00041 private:
00042 // for more complex classes these two should probably be protected
00043   FunctionFactory(const FunctionFactory &); 
00044   FunctionFactory & operator = (const FunctionFactory &); 
00045 
00046 public: 
00047 
00048   virtual IFunction * create(const std::string & name, 
00049                              const std::string & label, 
00050                              const std::string & type, 
00051                              const std::vector<double> & parameterValues, 
00052                              const std::string & parameterNames = "");
00053 
00054   virtual IFunction * createScripted(const std::string & name, 
00055                                      const std::string & label, 
00056                                      const std::string & script);
00057 
00058   virtual IFitFunction * createFit(const std::string & name, 
00059                                    const std::string & label, 
00060                                    const std::string & type,
00061                                    const std::string & options);
00062 
00063 }; 
00064 
00065 #endif /* FUNCTIONFACTORY_H */ 


Anaphe documentation generated by Doxygen (www.doxygen.org)