GSI Object Oriented Online Offline (Go4)  GO4-6.1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4FitterConfig.h
Go to the documentation of this file.
1 // $Id: TGo4FitterConfig.h 2631 2019-10-01 08:32:46Z linev $
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #ifndef TGO4FITTERCONFIG_H
15 #define TGO4FITTERCONFIG_H
16 
17 #include "TGo4FitterAction.h"
18 
19 #include "TObjArray.h"
20 #include "TGo4FitParsList.h"
21 
22 class TGo4FitterAbstract;
23 class TGo4FitDependency;
24 
37  public:
38 
43 
47  TGo4FitterConfig(const char* iName, const char* iTitle);
48 
52  virtual ~TGo4FitterConfig();
53 
58  void AddParNew(const char* ParName, Double_t iValue = 0) { fxParsNew.CreatePar(ParName,"config",iValue); }
59 
64  virtual Bool_t SetParFixed(const char* ParName, Bool_t iFixed = kTRUE);
65 
70  virtual Bool_t SetParRange(const char* ParName, Double_t RangeMin, Double_t RangeMax);
71 
76  virtual Bool_t SetParEpsilon(const char* ParName, Double_t Epsilon);
77 
82  virtual Bool_t GetParFixed(const char* ParName);
83 
88  virtual Bool_t GetParRange(const char * ParName, Double_t & RangeMin, Double_t & RangeMax);
89 
94  virtual Bool_t GetParEpsilon(const char* ParName, Double_t& Epsilon);
95 
101  void SetParInit(const char* FullName, Double_t iValue);
102 
110  void SetParInit(const char* FullName, const char* iExpression);
111 
119  void SetParDepend(const char* FullName, const char* iExpression);
120 
124  void AddResult(const char* Expression);
125 
129  void AddResult(Double_t Value);
130 
135 
140 
144  TObjArray& GetParsInit() { return fxParsInit; }
145 
149  TObjArray& GetParsDepend() { return fxParsDepend; }
150 
154  TObjArray& GetResults() { return fxResults; }
155 
160  virtual void DoAction(TGo4FitterAbstract* Fitter);
161 
165  virtual void Print(Option_t* option) const;
166 
167  protected:
168  TGo4FitParameter* MakeParForProperties(const char* ParName);
169 
170  TGo4FitDependency* FindDepen(const char* FullName, TObjArray* list);
171 
175  TGo4FitParsList fxParsCfg; // configurations for some of parameters
176 
177 
181  TGo4FitParsList fxParsNew; // newly create parameters
182 
183 
187  TObjArray fxParsInit; // array of dependencies, runs once
188 
189 
193  TObjArray fxParsDepend; // array of dependencies, runs every time
194 
195 
199  TObjArray fxResults; // array of dependencies of results calculations
200 
201 
205  Bool_t fbFixedByDefault; // is all parameters fixed by default
206 
207 private:
208 
212  /*# TGo4FitDependency ParsDependency; */
213 
217  /*# TGo4FitParMinimization ParsMinimization; */
218 
222  /*# TGo4FitDependency lnkTGo4FitterConfig; */
223 
226  /*# TGo4FitParsList lnkTGo4FitterConfig1; */
227 protected:
228 
229  ClassDef(TGo4FitterConfig,1)
230 };
231 #endif // TGO4FITTERCONFIG_H
virtual Bool_t SetParEpsilon(const char *ParName, Double_t Epsilon)
TGo4FitDependency * FindDepen(const char *FullName, TObjArray *list)
TGo4FitParsList & GetParsCfg()
TObjArray & GetResults()
void AddParNew(const char *ParName, Double_t iValue=0)
TGo4FitParameter * MakeParForProperties(const char *ParName)
TGo4FitParameter * CreatePar(const char *ParName, const char *Title, Double_t iValue=0)
void SetParDepend(const char *FullName, const char *iExpression)
virtual Bool_t GetParEpsilon(const char *ParName, Double_t &Epsilon)
TGo4FitParsList fxParsNew
TObjArray & GetParsDepend()
virtual Bool_t GetParFixed(const char *ParName)
virtual ~TGo4FitterConfig()
void SetParInit(const char *FullName, Double_t iValue)
virtual void DoAction(TGo4FitterAbstract *Fitter)
virtual void Print(Option_t *option) const
void AddResult(const char *Expression)
TGo4FitParsList fxParsCfg
TGo4FitParsList & GetParsNew()
virtual Bool_t SetParFixed(const char *ParName, Bool_t iFixed=kTRUE)
virtual Bool_t GetParRange(const char *ParName, Double_t &RangeMin, Double_t &RangeMax)
virtual Bool_t SetParRange(const char *ParName, Double_t RangeMin, Double_t RangeMax)
TObjArray & GetParsInit()