GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4FitParameter.h
Go to the documentation of this file.
1 // $Id$
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #ifndef TGO4FITPARAMETER_H
15 #define TGO4FITPARAMETER_H
16 
17 #include "TGo4FitNamed.h"
18 
25  public:
26 
31 
35  TGo4FitParameter(const char *name, const char *title, Double_t iValue);
36 
40  TGo4FitParameter(const char *name, const char *title, Double_t iValue, Double_t iRangeMin, Double_t iRangeMax);
41 
45  TGo4FitParameter(const char *name, const char *title, Double_t iValue, Double_t iEpsilon);
46 
50  TGo4FitParameter(const char *name, const char *title, Double_t iValue, Double_t iRangeMin, Double_t iRangeMax, Double_t iEpsilon);
51 
55  virtual ~TGo4FitParameter();
56 
60  Double_t GetValue() const { return fdValue; }
61 
65  void SetValue(Double_t iValue) { fdValue = iValue; }
66 
70  Double_t GetError() const { return fdError; }
71 
75  void SetError(Double_t iError) { fdError = iError; }
76 
80  Bool_t GetFixed() const { return fbFixed || fbBlocked; }
81 
85  void SetFixed(Bool_t iFixed) { fbFixed = iFixed; }
86 
92  void SetBlocked() { fbBlocked = kTRUE; }
93 
97  void ClearBlocked() { fbBlocked = kFALSE; }
98 
104  Bool_t GetEpsilon(Double_t& eps) const { eps=fdEpsilon; return fbEpsilon; }
105 
109  void SetEpsilon(Double_t iEpsilon) { fbEpsilon = kTRUE; fdEpsilon = iEpsilon; };
110 
115  void SetEpsilonUse(Bool_t use) { fbEpsilon = use; }
116 
121  void ChangeEpsilon(Double_t iEpsilon) { fdEpsilon = iEpsilon; }
122 
127  void ClearEpsilon() { fbEpsilon = kFALSE; }
128 
133  Bool_t GetRange(Double_t &min, Double_t &max) const { min = fdRangeMin; max = fdRangeMax; return fbRange; }
134 
138  void SetRange(Double_t iRangeMin, Double_t iRangeMax);
139 
144  void SetRangeUse(Bool_t use) { fbRange = use; }
145 
149  void ChangeRangeMin(Double_t iRangeMin) { if (fbRange) fdRangeMin = iRangeMin; }
150 
154  void ChangeRangeMax(Double_t iRangeMax) { if (fbRange) fdRangeMax = iRangeMax; }
155 
159  Double_t GetRangeMin() const { return fdRangeMin; }
160 
164  Double_t GetRangeMax() const { return fdRangeMax; }
165 
170  void ClearRange() { fbRange = kFALSE; fdRangeMin = fdRangeMax = 0.; }
171 
176 
181 
185  void Print(Option_t *option = "") const override;
186 
187  protected:
188  void Reset();
189 
190  Double_t fdValue{0.};
191  Double_t fdError{0.};
192  Bool_t fbFixed{kFALSE};
193 
194  Bool_t fbEpsilon{kFALSE};
195  Double_t fdEpsilon{0.};
196 
197  Bool_t fbRange{kFALSE};
198  Double_t fdRangeMin{0.};
199  Double_t fdRangeMax{0.};
200 
201  private:
202  Bool_t fbBlocked{kFALSE};
203  Double_t fdRememberedValue{0.};
204 
205  ClassDefOverride(TGo4FitParameter,1)
206 };
207 
208 #endif // TGO4FITPARAMETER_H
Double_t GetValue() const
void SetRangeUse(Bool_t use)
void ChangeRangeMin(Double_t iRangeMin)
void SetEpsilonUse(Bool_t use)
Bool_t GetEpsilon(Double_t &eps) const
Double_t GetRangeMin() const
void ChangeRangeMax(Double_t iRangeMax)
Double_t GetError() const
virtual ~TGo4FitParameter()
Double_t GetRangeMax() const
Double_t fdRememberedValue
Bool_t GetRange(Double_t &min, Double_t &max) const
void Print(Option_t *option="") const override
Bool_t GetFixed() const
void SetValue(Double_t iValue)
void SetEpsilon(Double_t iEpsilon)
void SetFixed(Bool_t iFixed)
void SetRange(Double_t iRangeMin, Double_t iRangeMax)
void SetError(Double_t iError)
void ChangeEpsilon(Double_t iEpsilon)