00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TGO4FITPARAMETER_H
00017 #define TGO4FITPARAMETER_H
00018
00019 #include "TGo4FitNamed.h"
00020
00026 class TGo4FitParameter : public TGo4FitNamed {
00027 public:
00028
00032 TGo4FitParameter();
00033
00037 TGo4FitParameter(const char* name, const char* title, Double_t iValue);
00038
00042 TGo4FitParameter(const char* name, const char* title, Double_t iValue, Double_t iRangeMin, Double_t iRangeMax);
00043
00047 TGo4FitParameter(const char* name, const char* title, Double_t iValue, Double_t iEpsilon);
00048
00052 TGo4FitParameter(const char* name, const char* title, Double_t iValue, Double_t iRangeMin, Double_t iRangeMax, Double_t iEpsilon);
00053
00057 virtual ~TGo4FitParameter();
00058
00062 Double_t GetValue() const { return fdValue; }
00063
00067 void SetValue(Double_t iValue) { fdValue = iValue; }
00068
00072 Double_t GetError() const { return fdError; }
00073
00077 void SetError(Double_t iError) { fdError = iError; }
00078
00082 Bool_t GetFixed() const { return fbFixed || fbBlocked; }
00083
00087 void SetFixed(Bool_t iFixed) { fbFixed = iFixed; }
00088
00094 void SetBlocked() { fbBlocked = kTRUE; }
00095
00099 void ClearBlocked() { fbBlocked = kFALSE; }
00100
00106 Bool_t GetEpsilon(Double_t& eps) const { eps=fdEpsilon; return fbEpsilon; }
00107
00111 void SetEpsilon(Double_t iEpsilon) { fbEpsilon = kTRUE; fdEpsilon = iEpsilon; };
00112
00117 void SetEpsilonUse(Bool_t use) { fbEpsilon = use; }
00118
00123 void ChangeEpsilon(Double_t iEpsilon) { fdEpsilon = iEpsilon; }
00124
00129 void ClearEpsilon() { fbEpsilon = kFALSE; }
00130
00135 Bool_t GetRange(Double_t& min, Double_t& max) const { min = fdRangeMin; max = fdRangeMax; return fbRange; }
00136
00140 void SetRange(Double_t iRangeMin, Double_t iRangeMax);
00141
00146 void SetRangeUse(Bool_t use) { fbRange = use; }
00147
00151 void ChangeRangeMin(Double_t iRangeMin) { if (fbRange) fdRangeMin = iRangeMin; }
00152
00156 void ChangeRangeMax(Double_t iRangeMax) { if (fbRange) fdRangeMax = iRangeMax; }
00157
00161 Double_t GetRangeMin() { return fdRangeMin; }
00162
00166 Double_t GetRangeMax() { return fdRangeMax; }
00167
00172 void ClearRange() { fbRange = kFALSE; fdRangeMin = 0.; fdRangeMax = 0.; }
00173
00177 void MemorizeValue() { fdRememberedValue = fdValue; }
00178
00182 void RememberValue() { fdValue = fdRememberedValue; }
00183
00187 virtual void Print(Option_t* option) const;
00188
00189 protected:
00190 void Reset();
00191
00192 Double_t fdValue;
00193 Double_t fdError;
00194 Bool_t fbFixed;
00195
00196 Bool_t fbEpsilon;
00197 Double_t fdEpsilon;
00198
00199 Bool_t fbRange;
00200 Double_t fdRangeMin;
00201 Double_t fdRangeMax;
00202
00203 private:
00204 Bool_t fbBlocked;
00205 Double_t fdRememberedValue;
00206
00207 ClassDef(TGo4FitParameter,1)
00208 };
00209
00210 #endif // TGO4FITPARAMETER_H
00211
00212