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_IFITTER_H 00008 #define AIDA_IFITTER_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 IBaseHistogram; 00021 class IDataPointSet; 00022 class IFitData; 00023 class IFitParameterSettings; 00024 class IFitResult; 00025 class IFunction; 00026 00039 class IFitter { 00040 00041 public: 00043 virtual ~IFitter() { /* nop */; } 00044 00053 virtual IFitResult * fit(IFitData & fitData, IFunction & func) = 0; 00054 00064 virtual IFitResult * fit(IBaseHistogram & hist, IFunction & func) = 0; 00065 00075 virtual IFitResult * fit(IBaseHistogram & hist, std::string model) = 0; 00076 00088 virtual IFitResult * fit(IBaseHistogram & hist, std::string model, std::vector<double> & initialParameters) = 0; 00089 00100 virtual IFitResult * fit(IDataPointSet & dataPointSet, IFunction & f) = 0; 00101 00112 virtual IFitResult * fit(IDataPointSet & dataPointSet, std::string model) = 0; 00113 00126 virtual IFitResult * fit(IDataPointSet & dataPointSet, std::string model, std::vector<double> & initialParameters) = 0; 00127 00129 virtual IFitResult * fit(IFitData & d, std::string model) = 0; 00130 00131 virtual IFitResult * fit(IFitData & d, std::string model, std::vector<double> & initialParameters) = 0; 00132 00141 virtual bool setEngine(std::string name) = 0; 00142 00148 virtual std::string engineName() = 0; 00149 00161 virtual IFitParameterSettings & fitParameterSettings(std::string name) = 0; 00162 00166 virtual const std::vector<std::string> & listParameterSettings() = 0; 00167 00171 virtual void resetParameterSettings() = 0; 00172 00177 virtual bool setConstraint(std::string expr) = 0; 00178 00180 virtual const std::vector<std::string> & constraints() = 0; 00181 00185 virtual void resetConstraints() = 0; 00186 00194 virtual bool setFitMethod(std::string name) = 0; 00195 00201 virtual std::string fitMethodName() = 0; 00202 00209 virtual IDataPointSet * createScan1D(IFitData & d, IFunction & f, std::string par, int npts, double pmin, double pmax) = 0; 00210 00215 virtual IDataPointSet * createContour(IFitData & d, IFitResult & r, std::string par1, std::string par2, int npts, double up) = 0; 00216 00224 virtual void setUseFunctionGradient(bool useGrad) = 0; 00225 00232 virtual bool useFunctionGradient() = 0; 00233 00239 /*# IFitResult lnkIFitResult; */ 00240 00242 /*# IFitData lnkIFitData; */ 00243 00246 /*# IFitParameterSettings lnkIFitParameter; */ 00247 00250 /*# IFunction lnkIFunction; */ 00251 }; // class 00252 }; // namespace AIDA 00253 #endif /* ifndef AIDA_IFITTER_H */