00001 // $Id: TGo4FitModelGauss2.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 TGO4FITMODELGAUSS2_H 00015 #define TGO4FITMODELGAUSS2_H 00016 00017 #include "TGo4FitModel.h" 00018 00039 class TGo4FitModelGauss2 : public TGo4FitModel { 00040 public: 00041 00045 TGo4FitModelGauss2(); 00046 00052 TGo4FitModelGauss2(const char* iName, Double_t iPos1 = 1., Double_t iPos2 = 1., 00053 Double_t iWidth1 = 1., Double_t iWidth2 = 1., Double_t iCov12 = 0., 00054 Int_t iNaxis1 = 0, Int_t iNaxis2 = 1); 00055 00059 virtual ~TGo4FitModelGauss2(); 00060 00064 Int_t GetNumAxis1() { return fiNaxis1; } 00065 00069 Int_t GetNumAxis2() { return fiNaxis2; } 00070 00074 Int_t SetNumAxis1(Int_t n) { return fiNaxis1 = n; } 00075 00079 Int_t SetNumAxis2(Int_t n) { return fiNaxis2 = n; } 00080 00084 virtual void Print(Option_t* option) const; 00085 00086 virtual Bool_t BeforeEval(Int_t ndim); 00087 virtual Double_t EvalN(const Double_t* v); 00088 00089 protected: 00090 virtual Int_t GetPosParIndex(Int_t naxis) { return (naxis==fiNaxis1) ? 1 : (naxis==fiNaxis2) ? 2 : -1; } 00091 virtual Int_t GetWidthParIndex(Int_t naxis) { return (naxis==fiNaxis1) ? 3 : (naxis==fiNaxis2) ? 4 : -1; } 00092 00093 00097 Int_t fiNaxis1; 00098 00102 Int_t fiNaxis2; 00103 00104 private: 00105 00109 Double_t Par_mu1; 00110 00111 00115 Double_t Par_mu2; 00116 00117 00121 Double_t Par_sig1; 00122 00123 00127 Double_t Par_sig2; 00128 00129 00133 Double_t Par_ro; 00134 00135 00139 Double_t Par_mult; 00140 00141 ClassDef(TGo4FitModelGauss2,1) 00142 }; 00143 #endif // TGO4FITMODELGAUSS2_H