00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TGO4FITTERCONFIG_H
00017 #define TGO4FITTERCONFIG_H
00018 #include "TObjArray.h"
00019 #include "TGo4FitParameter.h"
00020 #include "TGo4FitParsList.h"
00021 #include "TGo4FitDependency.h"
00022 #include "TGo4FitterAction.h"
00023 class TGo4FitterAbstract;
00024
00036 class TGo4FitterConfig : public TGo4FitterAction {
00037 public:
00038
00042 TGo4FitterConfig();
00043
00047 TGo4FitterConfig(const char* iName, const char* iTitle);
00048
00052 virtual ~TGo4FitterConfig();
00053
00058 void AddParNew(const char* ParName, Double_t iValue = 0) { fxParsNew.CreatePar(ParName,"config",iValue); }
00059
00064 virtual Bool_t SetParFixed(const char* ParName, Bool_t iFixed = kTRUE);
00065
00070 virtual Bool_t SetParRange(const char* ParName, Double_t RangeMin, Double_t RangeMax);
00071
00076 virtual Bool_t SetParEpsilon(const char* ParName, Double_t Epsilon);
00077
00082 virtual Bool_t GetParFixed(const char* ParName);
00083
00088 virtual Bool_t GetParRange(const char * ParName, Double_t & RangeMin, Double_t & RangeMax);
00089
00094 virtual Bool_t GetParEpsilon(const char* ParName, Double_t& Epsilon);
00095
00101 void SetParInit(const char* FullName, Double_t iValue);
00102
00110 void SetParInit(const char* FullName, const char* iExpression);
00111
00119 void SetParDepend(const char* FullName, const char* iExpression);
00120
00124 void AddResult(const char* Expression);
00125
00129 void AddResult(Double_t Value);
00130
00134 TGo4FitParsList& GetParsCfg() { return fxParsCfg; }
00135
00139 TGo4FitParsList& GetParsNew() { return fxParsNew; }
00140
00144 TObjArray& GetParsInit() { return fxParsInit; }
00145
00149 TObjArray& GetParsDepend() { return fxParsDepend; }
00150
00154 TObjArray& GetResults() { return fxResults; }
00155
00160 virtual void DoAction(TGo4FitterAbstract* Fitter);
00161
00165 virtual void Print(Option_t* option) const;
00166
00167 protected:
00168 TGo4FitParameter* MakeParForProperties(const char* ParName);
00169
00170 TGo4FitDependency* FindDepen(const char* FullName, TObjArray* list);
00171
00175 TGo4FitParsList fxParsCfg;
00176
00177
00181 TGo4FitParsList fxParsNew;
00182
00183
00187 TObjArray fxParsInit;
00188
00189
00193 TObjArray fxParsDepend;
00194
00195
00199 TObjArray fxResults;
00200
00201
00205 Bool_t fbFixedByDefault;
00206
00207 private:
00208
00212
00213
00217
00218
00222
00223
00226
00227 protected:
00228
00229 ClassDef(TGo4FitterConfig,1)
00230 };
00231 #endif // TGO4FITTERCONFIG_H
00232
00233