GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4FitModelPolynom.h
Go to the documentation of this file.
1 // $Id$
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 TGO4FITMODELPOLYNOM_H
15 #define TGO4FITMODELPOLYNOM_H
16 
17 #include "TGo4FitModel.h"
18 
19 class TArrayD;
20 
52  public:
53 
58 
63  TGo4FitModelPolynom(const char *iName, Double_t iOrderX = 0.);
64 
69  TGo4FitModelPolynom(const char *iName, Double_t iOrderX, Double_t iOrderY);
70 
75  TGo4FitModelPolynom(const char *iName, Double_t iOrderX, Double_t iOrderY, Double_t iOrderZ);
76 
83  TGo4FitModelPolynom(const char *iName, const TArrayD& iPolynomOrders);
84 
88  virtual ~TGo4FitModelPolynom();
89 
93  Double_t GetPolynomOrder(Int_t naxis);
94 
98  Int_t GetMaxNumAxis();
99 
103  Bool_t SetMaxNumAxis(Int_t numaxis);
104 
108  void Print(Option_t *option = "") const override;
109 
110  Bool_t BeforeEval(Int_t NDimension) override;
111  Double_t EvalN(const Double_t *v) override;
112  void AfterEval() override;
113 
114  protected:
115  TString GetOrderParName(Int_t naxis) const;
116 
117  private:
118  void CreateOrdersPars(const Double_t *orders, Int_t startaxis, Int_t maxaxis, Int_t AtIndx = -1);
119 
123  Int_t Par_ndim{0};
124 
128  TArrayD *fxAllOrders{nullptr};
129 
133  Double_t *Par_orders{nullptr};
134 
135  ClassDefOverride(TGo4FitModelPolynom,1)
136 };
137 
138 #endif // TGO4FITMODELPOLYNOM_H
Bool_t BeforeEval(Int_t NDimension) override
Bool_t SetMaxNumAxis(Int_t numaxis)
TString GetOrderParName(Int_t naxis) const
void CreateOrdersPars(const Double_t *orders, Int_t startaxis, Int_t maxaxis, Int_t AtIndx=-1)
Double_t EvalN(const Double_t *v) override
Double_t GetPolynomOrder(Int_t naxis)
void Print(Option_t *option="") const override