Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/Go4Fit/TGo4FitterConfig.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------
00002 //        Go4 Release Package v2.10-5 (build 21005) 
00003 //                      03-Nov-2005
00004 //---------------------------------------------------------------
00005 //       The GSI Online Offline Object Oriented (Go4) Project
00006 //       Experiment Data Processing at DVEE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
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;         // configurations for some of parameters
00176 
00177 
00181       TGo4FitParsList fxParsNew;         // newly create parameters
00182 
00183 
00187       TObjArray fxParsInit;              // array of dependencies, runs once
00188 
00189 
00193       TObjArray fxParsDepend;            // array of dependencies, runs every time
00194 
00195 
00199       TObjArray fxResults;               // array of dependencies of results calculations
00200 
00201 
00205       Bool_t fbFixedByDefault;           // is all parameters fixed by default
00206 
00207 private:
00208 
00212       /*#  TGo4FitDependency ParsDependency; */
00213 
00217       /*#  TGo4FitParMinimization ParsMinimization; */
00218 
00222       /*#  TGo4FitDependency lnkTGo4FitterConfig; */
00223 
00226       /*#  TGo4FitParsList lnkTGo4FitterConfig1; */
00227 protected:
00228 
00229    ClassDef(TGo4FitterConfig,1)
00230 };
00231 #endif // TGO4FITTERCONFIG_H
00232 
00233 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Tue Nov 8 10:55:57 2005 for Go4-v2.10-5 by doxygen1.2.15