TGo4FitterConfig.h

Go to the documentation of this file.
00001 // $Id: TGo4FitterConfig.h 478 2009-10-29 12:26:09Z linev $
00002 //-----------------------------------------------------------------------
00003 //       The GSI Online Offline Object Oriented (Go4) Project
00004 //         Experiment Data Processing at EE department, GSI
00005 //-----------------------------------------------------------------------
00006 // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH
00007 //                     Planckstr. 1, 64291 Darmstadt, Germany
00008 // Contact:            http://go4.gsi.de
00009 //-----------------------------------------------------------------------
00010 // This software can be used under the license agreements as stated
00011 // in Go4License.txt file which is part of the distribution.
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;         // 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

Generated on Thu Oct 28 15:54:12 2010 for Go4-Fitpackagev4.04-2 by  doxygen 1.5.1