ROOT logo
#ifndef HMDCMINIMIZE_H
#define HMDCMINIMIZE_H
//test 3 
#include "TObject.h"
//#include "hmdcclus.h"

class HMdcMinimize : public TObject {
protected:
   Int_t nPar;
   Double_t parIn[200];
   Double_t parBest[200];

   Double_t grad[200];
   Double_t grad2[200][200];
   Double_t scalePar[200];
   Double_t funct0;
   Double_t functIn;
   Double_t functOut;
   Double_t functBest;
  
   TObject* fObjectFit;            // Pointer to object being fitted 
   Double_t  (*fFCN)(TObject* obj, Int_t &nPar, Double_t* par);
public:
   HMdcMinimize(void);
   ~HMdcMinimize(void);
   void setFCN(TObject *obj,Double_t (*fcn)(TObject *, Int_t &, Double_t *));
  
   Int_t minimize(Int_t maxIter, Int_t nParIn,
		 Double_t* par0, Double_t* stepPar, Double_t* parOut);
   Int_t minimize2(Int_t maxIter, Int_t nParIn,
		  Double_t* par0, Double_t* stepPar, Double_t* parOut);
   void calculationOfGradient(Double_t fun0, Double_t* par, Double_t* stepPar, Int_t nPar,
			     Double_t& agrad, Double_t* cosgrad, Int_t iflag);
   void solutionOfLinearEquationsSystem(Double_t* par,
					Int_t nmOfPar);

   Int_t minpar2(Int_t maxIter, Int_t nParIn,
		 Double_t* par0, Double_t* stepPar, Double_t* parOut);  
   Int_t minbar(Int_t maxIter, Int_t nParIn,
		Double_t* par0,  Double_t* stepPar,Double_t* parOut);  
   Int_t scan(Int_t maxIter, Int_t nParIn,
	      Double_t* par0, Double_t* parOut);  
   Int_t scanXYZ(Int_t maxIter, Int_t nParIn,
		 Double_t* par0, Double_t* parOut);  
   Int_t random(Int_t maxIter, Int_t nParIn,
		 Double_t* par0, Double_t* parOut);  
    
   Int_t cog(Int_t maxIter, Int_t nParIn,
		 Double_t* par0, Double_t* parOut);  
    
   Double_t getFunct0(void) {return funct0;}
   Double_t getFunctional(void) {return functOut;}
   ClassDef(HMdcMinimize,0)
};

#endif
 hmdcminimize.h:1
 hmdcminimize.h:2
 hmdcminimize.h:3
 hmdcminimize.h:4
 hmdcminimize.h:5
 hmdcminimize.h:6
 hmdcminimize.h:7
 hmdcminimize.h:8
 hmdcminimize.h:9
 hmdcminimize.h:10
 hmdcminimize.h:11
 hmdcminimize.h:12
 hmdcminimize.h:13
 hmdcminimize.h:14
 hmdcminimize.h:15
 hmdcminimize.h:16
 hmdcminimize.h:17
 hmdcminimize.h:18
 hmdcminimize.h:19
 hmdcminimize.h:20
 hmdcminimize.h:21
 hmdcminimize.h:22
 hmdcminimize.h:23
 hmdcminimize.h:24
 hmdcminimize.h:25
 hmdcminimize.h:26
 hmdcminimize.h:27
 hmdcminimize.h:28
 hmdcminimize.h:29
 hmdcminimize.h:30
 hmdcminimize.h:31
 hmdcminimize.h:32
 hmdcminimize.h:33
 hmdcminimize.h:34
 hmdcminimize.h:35
 hmdcminimize.h:36
 hmdcminimize.h:37
 hmdcminimize.h:38
 hmdcminimize.h:39
 hmdcminimize.h:40
 hmdcminimize.h:41
 hmdcminimize.h:42
 hmdcminimize.h:43
 hmdcminimize.h:44
 hmdcminimize.h:45
 hmdcminimize.h:46
 hmdcminimize.h:47
 hmdcminimize.h:48
 hmdcminimize.h:49
 hmdcminimize.h:50
 hmdcminimize.h:51
 hmdcminimize.h:52
 hmdcminimize.h:53
 hmdcminimize.h:54
 hmdcminimize.h:55
 hmdcminimize.h:56