Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TGo4FitterConfig.h

Go to the documentation of this file.
00001 //-------------------------------------------------------------
00002 //        Go4 Release Package v3.04-01 (build 30401)
00003 //                      28-November-2008
00004 //---------------------------------------------------------------
00005 //   The GSI Online Offline Object Oriented (Go4) Project
00006 //   Experiment Data Processing at EE 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 
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;         // configurations for some of parameters
00178 
00179 
00183       TGo4FitParsList fxParsNew;         // newly create parameters
00184 
00185 
00189       TObjArray fxParsInit;              // array of dependencies, runs once
00190 
00191 
00195       TObjArray fxParsDepend;            // array of dependencies, runs every time
00196 
00197 
00201       TObjArray fxResults;               // array of dependencies of results calculations
00202 
00203 
00207       Bool_t fbFixedByDefault;           // is all parameters fixed by default
00208 
00209 private:
00210 
00214       /*#  TGo4FitDependency ParsDependency; */
00215 
00219       /*#  TGo4FitParMinimization ParsMinimization; */
00220 
00224       /*#  TGo4FitDependency lnkTGo4FitterConfig; */
00225 
00228       /*#  TGo4FitParsList lnkTGo4FitterConfig1; */
00229 protected:
00230 
00231    ClassDef(TGo4FitterConfig,1)
00232 };
00233 #endif // TGO4FITTERCONFIG_H
00234 
00235 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Fri Nov 28 12:59:13 2008 for Go4-v3.04-1 by  doxygen 1.4.2