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_IFITRESULT_H |
8 |
#define AIDA_IFITRESULT_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 <string> |
16 |
#include <vector> |
17 |
|
18 |
namespace AIDA { |
19 |
|
20 |
class IFitParameterSettings; |
21 |
class IFunction; |
22 |
|
23 |
/** @interface |
24 |
* |
25 |
* Represents the result of the fit. |
26 |
* |
27 |
* Holds internal copies of fit parameter settings (set in IFitter) and the |
28 |
* fitted function (clone of original function). The value of the parameters |
29 |
* of the fitted function are obtained from the fitting. |
30 |
* |
31 |
* @author The AIDA team (http://aida.freehep.org/) |
32 |
* |
33 |
*/ |
34 |
|
35 |
class IFitResult { |
36 |
|
37 |
public: |
38 |
/// Destructor. |
39 |
virtual ~IFitResult() { /* nop */; } |
40 |
|
41 |
/// True if fit successful, otherwise false. |
42 |
virtual bool isValid() = 0; |
43 |
|
44 |
/// Status of the fit. PENDING: what are the suggested values? |
45 |
virtual int fitStatus() = 0; |
46 |
|
47 |
/// Fitted function. The parameters hold the results of the fit. |
48 |
virtual IFunction & fittedFunction() = 0; |
49 |
|
50 |
/// Quality of the fit. Depending on the fit method this may be the value |
51 |
/// of Chi2 or Maximu Likelihood. |
52 |
virtual double quality() = 0; |
53 |
|
54 |
/// Number of degrees of freedom. |
55 |
virtual int ndf() = 0; |
56 |
|
57 |
/// Covariance matrix. PENDING: interface for matrix to be defined. |
58 |
virtual double covMatrixElement(int i, int j) = 0; |
59 |
|
60 |
/// Fit method name as set in the fitter. |
61 |
virtual std::string fitMethodName() = 0; |
62 |
|
63 |
/// Engine used to do fitting. |
64 |
virtual std::string engineName() = 0; |
65 |
|
66 |
/// Textual description of data - this is a hint for the user how to find |
67 |
/// the data in the tree if he wanted to repeat the fit later and lost |
68 |
/// the pointer to his orignal data object. |
69 |
/// PENDING: the contents and format of this string to be defined. |
70 |
/// PENDING: XML? stor name and path? ranges of DataPipe? |
71 |
virtual std::string dataDescription() = 0; |
72 |
|
73 |
/// Vector of constraints. |
74 |
virtual std::vector<std::string> constraints() = 0; |
75 |
|
76 |
/// Access to applied parameter settings. |
77 |
virtual IFitParameterSettings * fitParameterSettings(const std::string & name) = 0; |
78 |
|
79 |
/** |
80 |
* Get the array of the fitted parameter values (including fixed and constrained ones). |
81 |
* @return The array containing the fitted values. |
82 |
* |
83 |
*/ |
84 |
virtual const std::vector<double> & fittedParameters() const = 0; |
85 |
|
86 |
/** |
87 |
* Get the names of the fitted parameters (including fixed and constrained ones). |
88 |
* @return The array containing the names of the fitted parameters. |
89 |
* |
90 |
*/ |
91 |
virtual std::vector<std::string> fittedParameterNames() const = 0; |
92 |
|
93 |
/** |
94 |
* Get the value of a fitted parameter by name. |
95 |
* @return The value. |
96 |
* |
97 |
*/ |
98 |
virtual double fittedParameter(const std::string & name) = 0; |
99 |
|
100 |
/** |
101 |
* Get the parabolic errors on the fitted parameters. If a parameter was fixed |
102 |
* or constrained the error is zero. |
103 |
* @return The parabolic errors on the fitted parameters. |
104 |
* |
105 |
*/ |
106 |
virtual const std::vector<double> & errors() const = 0; |
107 |
|
108 |
/** |
109 |
* Get the positive part of the asymmetric errors on the fitted parameters. If a parameter was fixed |
110 |
* or constrained the error is zero. |
111 |
* @return The positive part of the asymmetric errors on the fitted parameters. |
112 |
* |
113 |
*/ |
114 |
virtual const std::vector<double> & errorsPlus() const = 0; |
115 |
|
116 |
/** |
117 |
* Get the negative part of the asymmetric errors on the fitted parameters. If a parameter was fixed |
118 |
* or constrained the error is zero. |
119 |
* @return The negative part of the asymmetric errors on the fitted parameters. |
120 |
* |
121 |
*/ |
122 |
virtual const std::vector<double> & errorsMinus() const = 0; |
123 |
|
124 |
/** @link aggregation |
125 |
* @supplierRole <<internal copy>>*/ |
126 |
/*# IFitParameterSettings lnkIFitParameterProperty; */ |
127 |
}; // class |
128 |
} // namespace AIDA |
129 |
#endif /* ifndef AIDA_IFITRESULT_H */ |