GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4FitModelGauss2.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 TGO4FITMODELGAUSS2_H
15 #define TGO4FITMODELGAUSS2_H
16 
17 #include "TGo4FitModel.h"
18 
40  public:
41 
46 
52  TGo4FitModelGauss2(const char *iName, Double_t iPos1 = 1., Double_t iPos2 = 1.,
53  Double_t iWidth1 = 1., Double_t iWidth2 = 1., Double_t iCov12 = 0.,
54  Int_t iNaxis1 = 0, Int_t iNaxis2 = 1);
55 
59  virtual ~TGo4FitModelGauss2();
60 
64  Int_t GetNumAxis1() const { return fiNaxis1; }
65 
69  Int_t GetNumAxis2() const { return fiNaxis2; }
70 
74  Int_t SetNumAxis1(Int_t n) { return fiNaxis1 = n; }
75 
79  Int_t SetNumAxis2(Int_t n) { return fiNaxis2 = n; }
80 
84  void Print(Option_t *option = "") const override;
85 
86  Bool_t BeforeEval(Int_t ndim) override;
87  Double_t EvalN(const Double_t *v) override;
88 
89  protected:
90  Int_t GetPosParIndex(Int_t naxis) override { return (naxis == fiNaxis1) ? 1 : (naxis == fiNaxis2) ? 2 : -1; }
91  Int_t GetWidthParIndex(Int_t naxis) override { return (naxis == fiNaxis1) ? 3 : (naxis == fiNaxis2) ? 4 : -1; }
92 
96  Int_t fiNaxis1{0};
97 
101  Int_t fiNaxis2{0};
102 
103  private:
104 
108  Double_t Par_mu1{0};
109 
113  Double_t Par_mu2{0};
114 
118  Double_t Par_sig1{0};
119 
123  Double_t Par_sig2{0};
124 
128  Double_t Par_ro{0};
129 
133  Double_t Par_mult{0};
134 
135  ClassDefOverride(TGo4FitModelGauss2,1)
136 };
137 #endif // TGO4FITMODELGAUSS2_H
void Print(Option_t *option="") const override
Double_t EvalN(const Double_t *v) override
Int_t SetNumAxis1(Int_t n)
Bool_t BeforeEval(Int_t ndim) override
Int_t GetNumAxis2() const
Int_t SetNumAxis2(Int_t n)
Int_t GetPosParIndex(Int_t naxis) override
Int_t GetWidthParIndex(Int_t naxis) override
Int_t GetNumAxis1() const