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  

IFunction.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_IFUNCTION_H
00008 #define AIDA_IFUNCTION_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 #include <vector>
00017 
00018 namespace AIDA {
00019 
00020 class IAnnotation;
00021 
00035 class IFunction {
00036 
00037 public: 
00039     virtual ~IFunction() { /* nop */; }
00040 
00044     virtual double value(const std::vector<double>  & x) const = 0;
00045 
00049     virtual int dimension() const = 0;
00050 
00055     virtual bool isEqual(const IFunction * f) const = 0;
00056 
00062     virtual const std::vector<double>  & gradient(const std::vector<double>  & x) const = 0;
00063 
00067     virtual bool providesGradient() const = 0;
00068 
00072     virtual std::string variableName(int i) const = 0;
00073 
00077     virtual const std::vector<std::string>  & variableNames() const = 0;
00078 
00082     virtual void setParameters(const std::vector<double>  & params) = 0;
00083 
00087     virtual const std::vector<double>  & parameters() const = 0;
00088 
00092     virtual int numberOfParameters() const = 0;
00093 
00101     virtual const std::vector<std::string>  & parameterNames() const = 0;
00102 
00110     virtual bool setParameter(std::string name, double x) = 0;
00111 
00112     virtual double parameter(std::string name) const = 0;
00113 
00118     virtual int indexOfParameter(std::string name) const = 0;
00119 
00120     virtual IAnnotation & annotation() = 0;
00121 
00122     virtual const IAnnotation & annotation() const = 0;
00123 
00163     virtual std::string codeletString() const = 0;
00164 
00166     /*#  IAnnotation lnkIAnnotation; */
00167 }; // class
00168 }; // namespace AIDA
00169 #endif /* ifndef AIDA_IFUNCTION_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