TGo4FitParsList.h

Go to the documentation of this file.
00001 // $Id: TGo4FitParsList.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 TGO4FITPARSLIST_H
00015 #define TGO4FITPARSLIST_H
00016 
00017 #include "TGo4FitNamed.h"
00018 
00019 #include "TOrdCollection.h"
00020 
00021 class TGo4FitParameter;
00022 
00028 class TGo4FitParsList: public TGo4FitNamed {
00029    public:
00030 
00034       TGo4FitParsList();
00035 
00039       TGo4FitParsList(Bool_t IsParsOwned);
00040 
00044       TGo4FitParsList(const char* Name, const char* Title, Bool_t IsParsOwned);
00045 
00049       virtual ~TGo4FitParsList();
00050 
00054       virtual Int_t NumPars() { return fxPars.GetSize(); }
00055 
00060       TGo4FitParameter* GetPar(Int_t n) { return Get(n);  }
00061 
00066       Int_t GetParIndex(const TGo4FitParameter* par);
00067 
00072       TGo4FitParameter* FindPar(const char* ParName) { return Find(ParName); }
00073 
00078       TGo4FitParameter* FindPar(const char* OwnerFullName, const char* ParName) { return Find(OwnerFullName,ParName); }
00079 
00084       TGo4FitParameter* FindPar(TGo4FitParameter* par) { return Find(par); }
00085 
00090       Double_t GetParValue(const char* ParName);
00091 
00096       Bool_t SetParValue(const char* ParName, Double_t iValue);
00097 
00102       void GetParsValues(Double_t* pars);
00103 
00107       void SetParsValues(Double_t* pars);
00108 
00113       Double_t GetParError(const char* ParName);
00114 
00119       Bool_t SetParError(const char* ParName, Double_t iError);
00120 
00124       virtual Bool_t SetParFixed(const char* ParName, Bool_t iFixed = kTRUE);
00125 
00130       virtual Bool_t GetParFixed(const char* ParName);
00131 
00135       Int_t NumFixedPars();
00136 
00140       Int_t NumFreePars();
00141 
00146       virtual Bool_t SetParRange(const char* ParName, Double_t RangeMin, Double_t RangeMax);
00147 
00152       virtual Bool_t GetParRange(const char* ParName, Double_t& RangeMin, Double_t& RangeMax);
00153 
00158       virtual Bool_t SetParEpsilon(const char* ParName, Double_t Epsilon);
00159 
00164       virtual Bool_t GetParEpsilon(const char* ParName, Double_t& Epsilon);
00165 
00169       void SetParName(Int_t n, const char* name);
00170 
00175       const char* GetParName(Int_t n);
00176 
00181       const char* GetParFullName(Int_t n);
00182 
00189       void SetParsNames(const char* name0 = "Par0", const char* name1 = "Par1",
00190                         const char* name2 = "Par2", const char* name3 = "Par3",
00191                         const char* name4 = "Par4", const char* name5 = "Par5",
00192                         const char* name6 = "Par6", const char* name7 = "Par7",
00193                         const char* name8 = "Par8", const char* name9 = "Par9");
00194 
00201       void SetParsValues(Double_t par0 = 0., Double_t par1 = 0., Double_t par2 = 0., Double_t par3 = 0., Double_t par4 = 0.,
00202                          Double_t par5 = 0., Double_t par6 = 0., Double_t par7 = 0., Double_t par8 = 0., Double_t par9 = 0.);
00203 
00208       virtual void MemorizePars();
00209 
00213       virtual bool CanRollbackPars() { return fbCanRollbackPars; }
00214 
00218       virtual void RememberPars();
00219 
00223       Bool_t IsAllParsFixed();
00224 
00229       TGo4FitParameter* CreatePar(const char* ParName, const char* Title, Double_t iValue = 0);
00230 
00236       Bool_t RemovePar(const char* name);
00237 
00243       Bool_t RemovePar(TGo4FitParameter* par);
00244 
00249       virtual void Print(Option_t* option) const;
00250 
00254       void PrintPars() const;
00255 
00260       virtual void CollectParsTo(TGo4FitParsList & list);
00261 
00266       void ClearPars();
00267 
00268    protected:
00269       TGo4FitParameter* AddPar(TGo4FitParameter* par);
00270       TGo4FitParameter* InsertPar(TGo4FitParameter* par, Int_t indx);
00271       void SetParsOwner(TGo4FitNamed* iOwner);
00272 
00273       void ClearParsBlocking();
00274 
00275       virtual TGo4FitParameter* Get(Int_t n) { return (n>=0) && (n<NumPars()) ? (TGo4FitParameter*) fxPars.At(n) : 0 ; }
00276       TGo4FitParameter* Find(const char* ParName);
00277       TGo4FitParameter* Find(const char* OwnerFullName, const char* ParName);
00278       TGo4FitParameter* Find(TGo4FitParameter* par);
00279       Bool_t RemoveParByIndex(Int_t indx);
00280 
00281     private:
00282       TOrdCollection fxPars;              
00283 
00287       Bool_t fbCanRollbackPars;                        
00288 
00292       /*#  TGo4FitParameter lnkTGo4FitParsList; */
00293     ClassDef(TGo4FitParsList,1)
00294 };
00295 #endif // TGO4FITPARSLIST_H

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