13 #ifndef ROOT_v5_TFormulaPrimitive
14 #define ROOT_v5_TFormulaPrimitive
36 class TFormulaPrimitive :
public TNamed
38 friend class ROOT::v5::TFormula;
40 typedef Double_t (*GenFuncG)(
const Double_t*,
const Double_t*);
41 typedef Double_t (*GenFunc0)();
42 typedef Double_t (*GenFunc10)(Double_t);
43 typedef Double_t (*GenFunc110)(Double_t,Double_t);
44 typedef Double_t (*GenFunc1110)(Double_t,Double_t, Double_t);
45 typedef Double_t (TObject::*TFuncG)(
const Double_t*,
const Double_t*)
const;
46 typedef Double_t (TObject::*TFunc0)()
const;
47 typedef Double_t (TObject::*TFunc10)(Double_t)
const;
48 typedef Double_t (TObject::*TFunc110)(Double_t,Double_t)
const;
49 typedef Double_t (TObject::*TFunc1110)(Double_t,Double_t,Double_t)
const;
51 static TObjArray * fgListOfFunction;
52 static Int_t BuildBasicFormulas();
58 GenFunc1110 fFunc1110;
70 TFormulaPrimitive(
const TFormulaPrimitive&);
71 TFormulaPrimitive& operator=(
const TFormulaPrimitive&);
74 TFormulaPrimitive(
const char *name,
const char *formula, GenFunc0 fpointer);
75 TFormulaPrimitive(
const char *name,
const char *formula, GenFunc10 fpointer);
76 TFormulaPrimitive(
const char *name,
const char *formula, GenFunc110 fpointer);
77 TFormulaPrimitive(
const char *name,
const char *formula, GenFunc1110 fpointer);
78 TFormulaPrimitive(
const char *name,
const char *formula, GenFuncG fpointer,Int_t npar);
79 TFormulaPrimitive(
const char *name,
const char *formula, TFunc0 fpointer);
80 TFormulaPrimitive(
const char *name,
const char *formula, TFunc10 fpointer);
81 TFormulaPrimitive(
const char *name,
const char *formula, TFunc110 fpointer);
82 TFormulaPrimitive(
const char *name,
const char *formula, TFunc1110 fpointer);
83 TFormulaPrimitive(
const char *name,
const char *formula, TFuncG fpointer);
84 static Int_t AddFormula(TFormulaPrimitive * formula);
85 static TFormulaPrimitive* FindFormula(
const char* name);
86 static TFormulaPrimitive* FindFormula(
const char* name,
const char *args);
87 static TFormulaPrimitive* FindFormula(
const char* name, UInt_t nargs);
88 Double_t Eval(Double_t* x);
89 Double_t Eval(TObject *o, Double_t *x);
90 Double_t Eval(Double_t *x, Double_t *param);
92 ClassDef(ROOT::v5::TFormulaPrimitive,0)