TGo4FitModelGaussN.h

Go to the documentation of this file.
00001 // $Id: TGo4FitModelGaussN.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 TGO4FITMODELGAUSSN_H
00015 #define TGO4FITMODELGAUSSN_H
00016 
00017 #include "TGo4FitModel.h"
00018 
00019 #include "TArrayI.h"
00020 #include "TVectorD.h"
00021 #include "TMatrixD.h"
00022 
00037 class TGo4FitModelGaussN : public TGo4FitModel {
00038    public:
00039 
00043       TGo4FitModelGaussN();
00044 
00049       TGo4FitModelGaussN(const char* iName, Int_t iNDimension = 3);
00050 
00054       virtual ~TGo4FitModelGaussN();
00055 
00059       Int_t GetAxisNumbers() { return fxIndexes.GetSize(); }
00060 
00064       Bool_t SetAxisNumbers(Int_t naxis);
00065 
00071       Int_t GetAxisForIndex(Int_t indx) { return fxIndexes[indx]; }
00072 
00076       void SetAxisForIndex(Int_t indx, Int_t axis) { fxIndexes[indx] = axis; }
00077 
00082       Bool_t ResortIndexes(Int_t leaveaxis = -1);
00083 
00087       void FillMuVector(TVectorD& Mu);
00088 
00092       void FillSigmaMatrix(TMatrixD& Sigma);
00093 
00097       virtual void Print(Option_t* option) const;
00098 
00099       virtual Bool_t BeforeEval(Int_t);
00100       virtual Double_t EvalN(const Double_t* v);
00101 
00102    protected:
00103       TString GetPosParName(Int_t naxis);
00104       TString GetWidthParName(Int_t naxis);
00105       TString GetCovarParName(Int_t naxis1, Int_t naxis2);
00106 
00107       virtual Int_t GetPosParIndex(Int_t naxis);
00108       virtual Int_t GetWidthParIndex(Int_t naxis);
00109 
00110       virtual void AfterEval();
00111 
00115       TArrayI fxIndexes;
00116 
00117    private:
00118 
00122       Int_t Par_ndim;                 
00123 
00124 
00128       Int_t* Par_indx;                
00129 
00130 
00134       TVectorD* Vect_mu;          
00135 
00136 
00140       TMatrixD* Matr_sig;         
00141 
00142 
00146       TVectorD* Vect_x;           
00147 
00148 
00152       TVectorD* Vect_dx;          
00153 
00154    ClassDef(TGo4FitModelGaussN,1)
00155 };
00156 #endif // TGO4FITMODELGAUSSN_H

Generated on Thu Oct 28 15:54:12 2010 for Go4-Fitpackagev4.04-2 by  doxygen 1.5.1