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  

IFitter.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_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 */

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