This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.
00001 // -*- C++ -*- 00002 // AID-GENERATED 00003 // ========================================================================= 00004 // This class was generated by AID - Abstract Interface Definition 00005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 00006 // ========================================================================= 00007 #ifndef AIDA_IFUNCTIONFACTORY_H 00008 #define AIDA_IFUNCTIONFACTORY_H 1 00009 00010 // This file is part of the AIDA library 00011 // Copyright (C) 2002 by the AIDA team. All rights reserved. 00012 // This library is free software and under the terms of the 00013 // GNU Library General Public License described in the LGPL.txt 00014 00015 #include <string> 00016 00017 namespace AIDA { 00018 00019 class IFunction; 00020 class IFunctionCatalog; 00021 00031 class IFunctionFactory { 00032 00033 public: 00035 virtual ~IFunctionFactory() { /* nop */; } 00036 00044 virtual IFunction * createFunctionByName(const std::string & name, std::string model) = 0; 00045 00051 virtual IFunction * createFunctionFromScript(const std::string & name, int dim, std::string valexpr, std::string parameters, std::string description, std::string gradexpr = "") = 0; 00052 00053 virtual IFunction * cloneFunction(const std::string & name, IFunction * f) = 0; 00054 00058 virtual IFunctionCatalog * catalog() = 0; 00059 00062 /*# IFunctionCatalog lnkIFunctionCatalog; */ 00063 }; // class 00064 }; // namespace AIDA 00065 #endif /* ifndef AIDA_IFUNCTIONFACTORY_H */