#ifndef HMDCTRACKFITTERA_H
#define HMDCTRACKFITTERA_H
#include "hmdctrackfitter.h"
class HMdcTrackFitterA : public HMdcTrackFitter {
protected:
Double_t initStepFit;
Int_t limIter1forFilter;
Double_t limFunct1to2;
Double_t limDeltaF1to2;
Double_t limGrad1to2;
Double_t stepCh[6];
Double_t dFunctMax;
Double_t dFunctMin;
Double_t limGrad2;
Double_t limStep2[10];
Int_t limIter2;
Double_t stepFit;
Int_t iterAfterFilter;
Int_t return2to1;
HMdcTrackParam pari;
HMdcTrackParam parMin;
HMdcTrackParam tmpPar;
public:
HMdcTrackFitterA(HMdcTrackFitInOut* fIO);
virtual ~HMdcTrackFitterA(void);
virtual Int_t minimize(Int_t iter=0);
void setDefaultParam(void);
void setInitStepFit(Double_t vl) {initStepFit=vl;}
void setLimIter1forFilter(Int_t vl) {limIter1forFilter=vl;}
void setLimFunct1to2(Double_t vl) {limFunct1to2=vl;}
void setLimDeltaF1to2(Double_t vl) {limDeltaF1to2=vl;}
void setLimGrad1to2(Double_t vl) {limGrad1to2=vl;}
void setStepCh(UInt_t i,Double_t vl) {if(i<6) stepCh[i]=vl;}
void setDFunctMax(Double_t vl) {dFunctMax=vl;}
void setDFunctMin(Double_t vl) {dFunctMin=vl;}
void setLimGrad2(Double_t vl) {limGrad2=vl;}
void setLimStep2(UInt_t i,Double_t vl) {if(i<10) limStep2[i]=vl;}
void setLimIter2(Int_t vl) {limIter2=vl;}
virtual Double_t getFunctional(void);
protected:
void printResult(void);
void printResult(const Char_t* status, HMdcTrackParam& par);
void printStep(const Char_t* cond, Double_t fun, Double_t step);
virtual void solutionOfLinearEquationsSystem(HMdcTrackParam& par);
void downhillOnGradient(HMdcTrackParam& par);
virtual Int_t firstMethod(void);
virtual Int_t secondMethod(void);
Double_t calcScaledAGrad(HMdcTrackParam& par);
virtual Int_t doMinimization(void);
ClassDef(HMdcTrackFitterA,0)
};
#endif
Last change: Sat May 22 13:04:01 2010
Last generated: 2010-05-22 13:04
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.