20 #ifndef TSBASEFUNCTION_H_
21 #define TSBASEFUNCTION_H_
31 #include "Math/IFunction.h"
32 #include "Math/IParamFunction.h"
35 #include "TSParameter.h"
36 #include "TSParamFunction.h"
38 #include "TSVariable.h"
40 #include "TSArgList.h"
59 const TSParameter* GetParameter(TString name)
const;
61 void PrintParamList()
const;
63 virtual double DoEvalPar(
const double *x,
const double *p)
const {
return 0;};
64 virtual const double* Parameters()
const {
return 0;}
65 virtual void SetParameters(
const double *p) {}
68 virtual unsigned int NDim()
const {
return fNDim;}
69 virtual unsigned int NPar()
const {
return fNPar;}
71 virtual void SetNDim(
int);
74 virtual double Evaluate()
const =0;
75 virtual double Eval(
double x,
double y=0)
const =0;
76 virtual double Eval()
const =0;
78 double GetBinArea()
const {
return fBinArea;}
79 double GetBinWidthX()
const {
return fBinWidthX;}
80 double GetBinWidthY()
const {
return fBinWidthY;}
92 TSArgList* GetPrimaryParamList()
const {
return fPrimaryParamList; }
93 void PrintPrimaryParamList()
const;
94 int GetNumOfPrimPars()
const {
return fPrimaryParamList->GetSize();}
96 void ResetBinWidths()
const;
97 void SetBinWidths(
double,
double)
const;
98 void SetBinWidths(
const TH1 &)
const;
99 void SetBinWidthX(
double)
const;
100 void SetBinWidthY(
double)
const;
109 virtual void fClearPrimaryParamList();
118 mutable double fBinWidthX;
119 mutable double fBinWidthY;
120 mutable double fBinArea;
126 virtual void fBuildPrimaryParamList();
127 virtual void fUpdatePrimaryParamList(
const TSParameter &);
132 static const int NMAX_FUNC_PARAMS=100;
134 const TSParameter *fPrimaryParamArray[NMAX_FUNC_PARAMS];
Definition: TSArgList.h:30
Definition: TSBaseFunction.h:48
Definition: TSParameter.h:39