GSI Object Oriented Online Offline (Go4)  GO4-6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4FitModelGaussN.h
Go to the documentation of this file.
1 // $Id: TGo4FitModelGaussN.h 2628 2019-10-01 08:14:31Z 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 TGO4FITMODELGAUSSN_H
15 #define TGO4FITMODELGAUSSN_H
16 
17 #include "TGo4FitModel.h"
18 
19 #include "TArrayI.h"
20 #include "TVectorD.h"
21 #include "TMatrixD.h"
22 
38  public:
39 
44 
49  TGo4FitModelGaussN(const char* iName, Int_t iNDimension = 3);
50 
54  virtual ~TGo4FitModelGaussN();
55 
59  Int_t GetAxisNumbers() { return fxIndexes.GetSize(); }
60 
64  Bool_t SetAxisNumbers(Int_t naxis);
65 
71  Int_t GetAxisForIndex(Int_t indx) { return fxIndexes[indx]; }
72 
76  void SetAxisForIndex(Int_t indx, Int_t axis) { fxIndexes[indx] = axis; }
77 
82  Bool_t ResortIndexes(Int_t leaveaxis = -1);
83 
87  void FillMuVector(TVectorD& Mu);
88 
92  void FillSigmaMatrix(TMatrixD& Sigma);
93 
97  virtual void Print(Option_t* option) const;
98 
99  virtual Bool_t BeforeEval(Int_t);
100  virtual Double_t EvalN(const Double_t* v);
101 
102  protected:
103  TString GetPosParName(Int_t naxis);
104  TString GetWidthParName(Int_t naxis);
105  TString GetCovarParName(Int_t naxis1, Int_t naxis2);
106 
107  virtual Int_t GetPosParIndex(Int_t naxis);
108  virtual Int_t GetWidthParIndex(Int_t naxis);
109 
110  virtual void AfterEval();
111 
115  TArrayI fxIndexes;
116 
117  private:
118 
122  Int_t Par_ndim;
123 
124 
128  Int_t* Par_indx;
129 
130 
134  TVectorD* Vect_mu;
135 
136 
140  TMatrixD* Matr_sig;
141 
142 
146  TVectorD* Vect_x;
147 
148 
152  TVectorD* Vect_dx;
153 
155 };
156 #endif // TGO4FITMODELGAUSSN_H
Bool_t ResortIndexes(Int_t leaveaxis=-1)
TString GetPosParName(Int_t naxis)
virtual Double_t EvalN(const Double_t *v)
void FillMuVector(TVectorD &Mu)
void FillSigmaMatrix(TMatrixD &Sigma)
void SetAxisForIndex(Int_t indx, Int_t axis)
Bool_t SetAxisNumbers(Int_t naxis)
virtual Int_t GetWidthParIndex(Int_t naxis)
virtual Bool_t BeforeEval(Int_t)
TString GetCovarParName(Int_t naxis1, Int_t naxis2)
TString GetWidthParName(Int_t naxis)
ClassDef(TGo4FitSlotList, 1)
Int_t GetAxisForIndex(Int_t indx)
virtual Int_t GetPosParIndex(Int_t naxis)
virtual void Print(Option_t *option) const