Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 #ifndef TGO4FITTERCONFIG_H
00015 #define TGO4FITTERCONFIG_H
00016 
00017 #include "TGo4FitterAction.h"
00018 
00019 #include "TObjArray.h"
00020 #include "TGo4FitParsList.h"
00021 
00022 class TGo4FitterAbstract;
00023 class TGo4FitDependency;
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