00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef TGO4FITPARAMETER_H
00015 #define TGO4FITPARAMETER_H
00016
00017 #include "TGo4FitNamed.h"
00018
00024 class TGo4FitParameter : public TGo4FitNamed {
00025 public:
00026
00030 TGo4FitParameter();
00031
00035 TGo4FitParameter(const char* name, const char* title, Double_t iValue);
00036
00040 TGo4FitParameter(const char* name, const char* title, Double_t iValue, Double_t iRangeMin, Double_t iRangeMax);
00041
00045 TGo4FitParameter(const char* name, const char* title, Double_t iValue, Double_t iEpsilon);
00046
00050 TGo4FitParameter(const char* name, const char* title, Double_t iValue, Double_t iRangeMin, Double_t iRangeMax, Double_t iEpsilon);
00051
00055 virtual ~TGo4FitParameter();
00056
00060 Double_t GetValue() const { return fdValue; }
00061
00065 void SetValue(Double_t iValue) { fdValue = iValue; }
00066
00070 Double_t GetError() const { return fdError; }
00071
00075 void SetError(Double_t iError) { fdError = iError; }
00076
00080 Bool_t GetFixed() const { return fbFixed || fbBlocked; }
00081
00085 void SetFixed(Bool_t iFixed) { fbFixed = iFixed; }
00086
00092 void SetBlocked() { fbBlocked = kTRUE; }
00093
00097 void ClearBlocked() { fbBlocked = kFALSE; }
00098
00104 Bool_t GetEpsilon(Double_t& eps) const { eps=fdEpsilon; return fbEpsilon; }
00105
00109 void SetEpsilon(Double_t iEpsilon) { fbEpsilon = kTRUE; fdEpsilon = iEpsilon; };
00110
00115 void SetEpsilonUse(Bool_t use) { fbEpsilon = use; }
00116
00121 void ChangeEpsilon(Double_t iEpsilon) { fdEpsilon = iEpsilon; }
00122
00127 void ClearEpsilon() { fbEpsilon = kFALSE; }
00128
00133 Bool_t GetRange(Double_t& min, Double_t& max) const { min = fdRangeMin; max = fdRangeMax; return fbRange; }
00134
00138 void SetRange(Double_t iRangeMin, Double_t iRangeMax);
00139
00144 void SetRangeUse(Bool_t use) { fbRange = use; }
00145
00149 void ChangeRangeMin(Double_t iRangeMin) { if (fbRange) fdRangeMin = iRangeMin; }
00150
00154 void ChangeRangeMax(Double_t iRangeMax) { if (fbRange) fdRangeMax = iRangeMax; }
00155
00159 Double_t GetRangeMin() { return fdRangeMin; }
00160
00164 Double_t GetRangeMax() { return fdRangeMax; }
00165
00170 void ClearRange() { fbRange = kFALSE; fdRangeMin = 0.; fdRangeMax = 0.; }
00171
00175 void MemorizeValue() { fdRememberedValue = fdValue; }
00176
00180 void RememberValue() { fdValue = fdRememberedValue; }
00181
00185 virtual void Print(Option_t* option) const;
00186
00187 protected:
00188 void Reset();
00189
00190 Double_t fdValue;
00191 Double_t fdError;
00192 Bool_t fbFixed;
00193
00194 Bool_t fbEpsilon;
00195 Double_t fdEpsilon;
00196
00197 Bool_t fbRange;
00198 Double_t fdRangeMin;
00199 Double_t fdRangeMax;
00200
00201 private:
00202 Bool_t fbBlocked;
00203 Double_t fdRememberedValue;
00204
00205 ClassDef(TGo4FitParameter,1)
00206 };
00207
00208 #endif // TGO4FITPARAMETER_H