TGo4FitParameter.h

Go to the documentation of this file.
00001 // $Id: TGo4FitParameter.h 478 2009-10-29 12:26:09Z linev $
00002 //-----------------------------------------------------------------------
00003 //       The GSI Online Offline Object Oriented (Go4) Project
00004 //         Experiment Data Processing at EE department, GSI
00005 //-----------------------------------------------------------------------
00006 // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH
00007 //                     Planckstr. 1, 64291 Darmstadt, Germany
00008 // Contact:            http://go4.gsi.de
00009 //-----------------------------------------------------------------------
00010 // This software can be used under the license agreements as stated
00011 // in Go4License.txt file which is part of the distribution.
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

Generated on Thu Oct 28 15:54:12 2010 for Go4-Fitpackagev4.04-2 by  doxygen 1.5.1