GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
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
19class TArrayD;
20
59 public:
60
65
70 TGo4FitModelPolynom(const char *iName, Double_t iOrderX = 0.);
71
76 TGo4FitModelPolynom(const char *iName, Double_t iOrderX, Double_t iOrderY);
77
82 TGo4FitModelPolynom(const char *iName, Double_t iOrderX, Double_t iOrderY, Double_t iOrderZ);
83
90 TGo4FitModelPolynom(const char *iName, const TArrayD& iPolynomOrders);
91
95 virtual ~TGo4FitModelPolynom();
96
100 Double_t GetPolynomOrder(Int_t naxis);
101
105 Int_t GetMaxNumAxis();
106
110 Bool_t SetMaxNumAxis(Int_t numaxis);
111
115 void Print(Option_t *option = "") const override;
116
117 Bool_t BeforeEval(Int_t NDimension) override;
118 Double_t EvalN(const Double_t *v) override;
119 void AfterEval() override;
120
121 protected:
122 TString GetOrderParName(Int_t naxis) const;
123
124 private:
125 void CreateOrdersPars(const Double_t *orders, Int_t startaxis, Int_t maxaxis, Int_t AtIndx = -1);
126
130 Int_t Par_ndim{0};
131
135 TArrayD *fxAllOrders{nullptr};
136
140 Double_t *Par_orders{nullptr};
141
142 ClassDefOverride(TGo4FitModelPolynom,1)
143};
144
145#endif // TGO4FITMODELPOLYNOM_H
Model objects, which reproduce component of polynomial function.
Double_t * Par_orders
Temporary variable for EvalN() function.
Bool_t BeforeEval(Int_t NDimension) override
Prepares (if necessary) some intermediate variables to be able calculate values of model via EvalN() ...
TArrayD * fxAllOrders
Temporary variable for EvalN() function.
Double_t GetPolynomOrder(Int_t naxis)
Get polynom order for specified axis.
Bool_t SetMaxNumAxis(Int_t numaxis)
Sets number of dimensions (maximum axis numbers) in polynom.
virtual ~TGo4FitModelPolynom()
Destroys TGo4FitModelPolynom object.
void Print(Option_t *option="") const override
Print information on standard output.
void CreateOrdersPars(const Double_t *orders, Int_t startaxis, Int_t maxaxis, Int_t AtIndx=-1)
Int_t GetMaxNumAxis()
Returns maximum axis number (dimensions number) in polynom.
TString GetOrderParName(Int_t naxis) const
Int_t Par_ndim
Temporary variable for EvalN() function.
TGo4FitModelPolynom()
Default constructor.
Double_t EvalN(const Double_t *v) override
Calculates value of model according current parameters values and provided axes values.
void AfterEval() override
Clear buffers, which were created by BeforeEval() method.
TGo4FitModel()
Default constructor.