13 #ifndef ROOT_v5_TFormula 14 #define ROOT_v5_TFormula 32 #ifndef ROOT_TObjArray 46 class TFormulaPrimitive;
108 void MakePrimitive(
const char *expr,
Int_t pos);
115 fOper[code] += param;
123 fOperOptimized[code] += param;
129 virtual void Convert(
UInt_t fromVersion);
132 Double_t EvalParFast(
const Double_t *
x,
const Double_t *params);
133 Double_t EvalPrimitive(
const Double_t *
x,
const Double_t *params);
134 Double_t EvalPrimitive0(
const Double_t *
x,
const Double_t *params);
135 Double_t EvalPrimitive1(
const Double_t *
x,
const Double_t *params);
136 Double_t EvalPrimitive2(
const Double_t *
x,
const Double_t *params);
137 Double_t EvalPrimitive3(
const Double_t *
x,
const Double_t *params);
138 Double_t EvalPrimitive4(
const Double_t *
x,
const Double_t *params);
143 kAdd = 1, kSubstract = 2,
147 kcos = 10, ksin = 11 , ktan = 12,
148 kacos = 13, kasin = 14 , katan = 15,
152 kpow = 20, ksq = 21, ksqrt = 22,
156 kmin = 24, kmax = 25,
158 klog = 30, kexp = 31, klog10 = 32,
162 kabs = 41 , ksign= 42,
168 kEqual = 62, kNotEqual = 63,
169 kLess = 64, kGreater = 65,
170 kLessThan = 66, kGreaterThan = 67,
173 kcosh = 70 , ksinh = 71, ktanh = 72,
174 kacosh = 73 , kasinh = 74, katanh = 75,
176 kStringEqual = 76, kStringNotEqual = 77,
178 kBitAnd = 78, kBitOr = 79,
179 kLeftShift = 80, kRightShift = 81,
181 kJumpIf = 82, kJump = 83,
183 kexpo = 100 , kxexpo = 100, kyexpo = 101, kzexpo = 102, kxyexpo = 105,
184 kgaus = 110 , kxgaus = 110, kygaus = 111, kzgaus = 112, kxygaus = 115,
185 klandau = 120 , kxlandau = 120, kylandau = 121, kzlandau = 122, kxylandau = 125,
186 kpol = 130 , kxpol = 130, kypol = 131, kzpol = 132,
198 kDefinedVariable = 150,
199 kDefinedString = 151,
205 kBoolOptimizeOr = 156,
206 kBoolOptimizeAnd = 157,
231 virtual void Analyze(
const char *schain,
Int_t &err,
Int_t offset=0);
233 virtual Int_t Compile(
const char *expression=
"");
235 virtual void Clear(
Option_t *option=
"");
236 virtual char *DefinedString(
Int_t code);
237 virtual Double_t DefinedValue(
Int_t code);
239 virtual Double_t
Eval(Double_t
x, Double_t
y=0, Double_t
z=0, Double_t t=0)
const;
240 virtual Double_t EvalParOld(
const Double_t *
x,
const Double_t *params=0);
241 virtual Double_t
EvalPar(
const Double_t *
x,
const Double_t *params=0){
return ((*this).*fOptimal)(
x,params);};
247 Double_t GetParameter(
Int_t ipar)
const;
248 Double_t GetParameter(
const char *
name)
const;
251 virtual const char *GetParName(
Int_t ipar)
const;
252 virtual Int_t GetParNumber(
const char *name)
const;
256 virtual void ProcessLinear(
TString &replaceformula);
258 virtual void SetParameter(
const char *name, Double_t parvalue);
259 virtual void SetParameter(
Int_t ipar, Double_t parvalue);
261 virtual void SetParameters(Double_t p0,Double_t
p1,Double_t
p2=0,Double_t
p3=0,Double_t p4=0,
262 Double_t p5=0,Double_t p6=0,Double_t p7=0,Double_t p8=0,
263 Double_t p9=0,Double_t p10=0);
264 virtual void SetParName(
Int_t ipar,
const char *name);
265 virtual void SetParNames(
const char *name0=
"p0",
const char *name1=
"p1",
const char 266 *name2=
"p2",
const char *name3=
"p3",
const char 267 *name4=
"p4",
const char *name5=
"p5",
const char *name6=
"p6",
const char *name7=
"p7",
const char 268 *name8=
"p8",
const char *name9=
"p9",
const char *name10=
"p10");
271 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)
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
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)
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