RAIDA  1.9.0
IModelFunction.h
1 // -*- C++ -*-
2 // AID-GENERATED
3 // =========================================================================
4 // This class was generated by AID - Abstract Interface Definition
5 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it.
6 // =========================================================================
7 #ifndef AIDA_IMODELFUNCTION_H
8 #define AIDA_IMODELFUNCTION_H 1
9 
10 // This file is part of the AIDA library
11 // Copyright (C) 2002 by the AIDA team. All rights reserved.
12 // This library is free software and under the terms of the
13 // GNU Library General Public License described in the LGPL.txt
14 
15 #include <vector>
16 
17 #include "AIDA/IFunction.h"
18 
19 namespace AIDA {
20 
21 class IRangeSet;
22 
43 class IModelFunction : virtual public IFunction {
44 
45 public:
47  virtual ~IModelFunction() { /* nop */; }
48 
50  virtual bool providesNormalization() const = 0;
51 
57  virtual void normalize(bool on) = 0;
58 
62  virtual bool isNormalized() const = 0;
63 
67  virtual const std::vector<double> & parameterGradient(const std::vector<double> & x) const = 0;
68 
72  virtual bool providesParameterGradient() const = 0;
73 
84  virtual IRangeSet & normalizationRange(int iAxis) = 0;
85 
89  virtual void includeNormalizationAll() = 0;
90 
94  virtual void excludeNormalizationAll() = 0;
95 }; // class
96 } // namespace AIDA
97 #endif /* ifndef AIDA_IMODELFUNCTION_H */
User level interface to RangeSet.
Definition: IRangeSet.h:42
Principal user-level function interface.
Definition: IFunction.h:35
virtual void includeNormalizationAll()=0
Set full range in all axes.
virtual const std::vector< double > & parameterGradient(const std::vector< double > &x) const =0
Compute gradient with respect to parameters.
virtual bool providesParameterGradient() const =0
Return true if provides parameter gradient.
virtual bool isNormalized() const =0
Return true if normalization is currently switched on.
virtual bool providesNormalization() const =0
Return false if function does not provide the normalization capability.
virtual void normalize(bool on)=0
Normalize by internally adjusting some of the parameters.
Interface of model function for fitting (for advanced users).
Definition: IModelFunction.h:43
virtual ~IModelFunction()
Destructor.
Definition: IModelFunction.h:47
virtual void excludeNormalizationAll()=0
Set empty range in all axes.
virtual IRangeSet & normalizationRange(int iAxis)=0
Set the normalization range from -inf to +inf in the i-th axis (dimension).