CERN Accelerating science

This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.

Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

IFunctionFactory.h

Go to the documentation of this file.
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 */

Generated at Tue Feb 18 15:48:23 2003 for AIDA_Interfaces by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001