13 #ifndef ROOT_v5_TFormula 14 #define ROOT_v5_TFormula 40 class TFormulaPrimitive;
102 void MakePrimitive(
const char *expr,
Int_t pos);
109 fOper[code] += param;
117 fOperOptimized[code] += param;
120 void ClearFormula(
Option_t *option=
"");
123 virtual void Convert(
UInt_t fromVersion);
126 Double_t EvalParFast(
const Double_t *
x,
const Double_t *params);
127 Double_t EvalPrimitive(
const Double_t *
x,
const Double_t *params);
128 Double_t EvalPrimitive0(
const Double_t *
x,
const Double_t *params);
129 Double_t EvalPrimitive1(
const Double_t *
x,
const Double_t *params);
130 Double_t EvalPrimitive2(
const Double_t *
x,
const Double_t *params);
131 Double_t EvalPrimitive3(
const Double_t *
x,
const Double_t *params);
132 Double_t EvalPrimitive4(
const Double_t *
x,
const Double_t *params);
137 kAdd = 1, kSubstract = 2,
141 kcos = 10, ksin = 11 , ktan = 12,
142 kacos = 13, kasin = 14 , katan = 15,
146 kpow = 20, ksq = 21, ksqrt = 22,
150 kmin = 24, kmax = 25,
152 klog = 30, kexp = 31, klog10 = 32,
156 kabs = 41 , ksign= 42,
162 kEqual = 62, kNotEqual = 63,
163 kLess = 64, kGreater = 65,
164 kLessThan = 66, kGreaterThan = 67,
167 kcosh = 70 , ksinh = 71, ktanh = 72,
168 kacosh = 73 , kasinh = 74, katanh = 75,
170 kStringEqual = 76, kStringNotEqual = 77,
172 kBitAnd = 78, kBitOr = 79,
173 kLeftShift = 80, kRightShift = 81,
175 kJumpIf = 82, kJump = 83,
177 kexpo = 100 , kxexpo = 100, kyexpo = 101, kzexpo = 102, kxyexpo = 105,
178 kgaus = 110 , kxgaus = 110, kygaus = 111, kzgaus = 112, kxygaus = 115,
179 klandau = 120 , kxlandau = 120, kylandau = 121, kzlandau = 122, kxylandau = 125,
180 kpol = 130 , kxpol = 130, kypol = 131, kzpol = 132,
192 kDefinedVariable = 150,
193 kDefinedString = 151,
199 kBoolOptimizeOr = 156,
200 kBoolOptimizeAnd = 157,
225 virtual void Analyze(
const char *schain,
Int_t &err,
Int_t offset=0);
227 virtual Int_t Compile(
const char *expression=
"");
229 virtual void Clear(
Option_t *option=
"");
230 virtual char *DefinedString(
Int_t code);
231 virtual Double_t DefinedValue(
Int_t code);
233 virtual Double_t
Eval(Double_t
x, Double_t
y=0, Double_t
z=0, Double_t t=0)
const;
234 virtual Double_t EvalParOld(
const Double_t *
x,
const Double_t *params=0);
235 virtual Double_t
EvalPar(
const Double_t *
x,
const Double_t *params=0){
return ((*this).*fOptimal)(
x,params);};
241 Double_t GetParameter(
Int_t ipar)
const;
242 Double_t GetParameter(
const char *
name)
const;
245 virtual const char *GetParName(
Int_t ipar)
const;
246 virtual Int_t GetParNumber(
const char *name)
const;
250 virtual void ProcessLinear(
TString &replaceformula);
252 virtual void SetParameter(
const char *name, Double_t parvalue);
253 virtual void SetParameter(
Int_t ipar, Double_t parvalue);
255 virtual void SetParameters(Double_t p0,Double_t
p1,Double_t
p2=0,Double_t
p3=0,Double_t p4=0,
256 Double_t p5=0,Double_t p6=0,Double_t p7=0,Double_t p8=0,
257 Double_t p9=0,Double_t p10=0);
258 virtual void SetParName(
Int_t ipar,
const char *name);
259 virtual void SetParNames(
const char *name0=
"p0",
const char *name1=
"p1",
const char 260 *name2=
"p2",
const char *name3=
"p3",
const char 261 *name4=
"p4",
const char *name5=
"p5",
const char *name6=
"p6",
const char *name7=
"p7",
const char 262 *name8=
"p8",
const char *name9=
"p9",
const char *name10=
"p10");
265 static void SetMaxima(
Int_t maxop=1000,
Int_t maxpar=1000,
Int_t maxconst=1000);
TOperOffset()
TOper offset - helper class for TFormula* specify type of operand fTypeX = kVariable = kParameter = k...
RooCmdArg Optimize(Int_t flag=2)
static double p3(double t, double a, double b, double c, double d)
Namespace for new ROOT classes and functions.
Buffer base class used for serializing objects.
void SetParameters(TFitEditor::FuncParams_t &pars, TF1 *func)
Restore the parameters from pars into the function.
#define ClassDef(name, id)
The TNamed class is the base class for all named ROOT classes.
static double p2(double t, double a, double b, double c)
The ROOT global object gROOT contains a list of all defined classes.
static double p1(double t, double a, double b)
void Copy(void *source, void *dest)
void Print(std::ostream &os, const OptionType &opt)
Binding & operator=(OUT(*fun)(void))
Mother of all ROOT objects.
you should not use this method at all Int_t Int_t z
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b