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_IMODELFUNCTION_H 00008 #define AIDA_IMODELFUNCTION_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 <vector> 00016 00017 #include "AIDA/IFunction.h" 00018 00019 namespace AIDA { 00020 00021 class IRangeSet; 00022 00043 class IModelFunction : virtual public IFunction { 00044 00045 public: 00047 virtual ~IModelFunction() { /* nop */; } 00048 00050 virtual bool providesNormalization() const = 0; 00051 00057 virtual void normalize(bool on) = 0; 00058 00062 virtual bool isNormalized() const = 0; 00063 00067 virtual const std::vector<double> & parameterGradient(const std::vector<double> & x) const = 0; 00068 00072 virtual bool providesParameterGradient() const = 0; 00073 00084 virtual IRangeSet & normalizationRange(int iAxis) = 0; 00085 00089 virtual void includeNormalizationAll() = 0; 00090 00094 virtual void excludeNormalizationAll() = 0; 00095 }; // class 00096 }; // namespace AIDA 00097 #endif /* ifndef AIDA_IMODELFUNCTION_H */