00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TGO4FITTERCONFIG_H
00017 #define TGO4FITTERCONFIG_H
00018
00019 #include "TGo4FitterAction.h"
00020
00021 #include "TObjArray.h"
00022 #include "TGo4FitParsList.h"
00023
00024 class TGo4FitterAbstract;
00025 class TGo4FitDependency;
00026
00038 class TGo4FitterConfig : public TGo4FitterAction {
00039 public:
00040
00044 TGo4FitterConfig();
00045
00049 TGo4FitterConfig(const char* iName, const char* iTitle);
00050
00054 virtual ~TGo4FitterConfig();
00055
00060 void AddParNew(const char* ParName, Double_t iValue = 0) { fxParsNew.CreatePar(ParName,"config",iValue); }
00061
00066 virtual Bool_t SetParFixed(const char* ParName, Bool_t iFixed = kTRUE);
00067
00072 virtual Bool_t SetParRange(const char* ParName, Double_t RangeMin, Double_t RangeMax);
00073
00078 virtual Bool_t SetParEpsilon(const char* ParName, Double_t Epsilon);
00079
00084 virtual Bool_t GetParFixed(const char* ParName);
00085
00090 virtual Bool_t GetParRange(const char * ParName, Double_t & RangeMin, Double_t & RangeMax);
00091
00096 virtual Bool_t GetParEpsilon(const char* ParName, Double_t& Epsilon);
00097
00103 void SetParInit(const char* FullName, Double_t iValue);
00104
00112 void SetParInit(const char* FullName, const char* iExpression);
00113
00121 void SetParDepend(const char* FullName, const char* iExpression);
00122
00126 void AddResult(const char* Expression);
00127
00131 void AddResult(Double_t Value);
00132
00136 TGo4FitParsList& GetParsCfg() { return fxParsCfg; }
00137
00141 TGo4FitParsList& GetParsNew() { return fxParsNew; }
00142
00146 TObjArray& GetParsInit() { return fxParsInit; }
00147
00151 TObjArray& GetParsDepend() { return fxParsDepend; }
00152
00156 TObjArray& GetResults() { return fxResults; }
00157
00162 virtual void DoAction(TGo4FitterAbstract* Fitter);
00163
00167 virtual void Print(Option_t* option) const;
00168
00169 protected:
00170 TGo4FitParameter* MakeParForProperties(const char* ParName);
00171
00172 TGo4FitDependency* FindDepen(const char* FullName, TObjArray* list);
00173
00177 TGo4FitParsList fxParsCfg;
00178
00179
00183 TGo4FitParsList fxParsNew;
00184
00185
00189 TObjArray fxParsInit;
00190
00191
00195 TObjArray fxParsDepend;
00196
00197
00201 TObjArray fxResults;
00202
00203
00207 Bool_t fbFixedByDefault;
00208
00209 private:
00210
00214
00215
00219
00220
00224
00225
00228
00229 protected:
00230
00231 ClassDef(TGo4FitterConfig,1)
00232 };
00233 #endif // TGO4FITTERCONFIG_H
00234
00235