Tutorial illustrating how creating a TF1 class using functor or class member functions
can be run with:
root > .x exampleFunctor.C
root > .x exampleFunctor.C+ with ACLIC
double MyFunc (
double *
x,
double *
p ) {
}
struct MyDerivFunc {
MyDerivFunc(
TF1 *
f): fFunc(
f) {}
return fFunc->Derivative(*
x);
}
};
struct MyIntegFunc {
MyIntegFunc(
TF1 *
f): fFunc(
f) {}
double Integral (
double *
x,
double * )
const {
double a = fFunc->GetXmin();
return fFunc->Integral(
a, *
x);
}
};
void exampleFunctor() {
MyDerivFunc * deriv =
new MyDerivFunc(
f1);
MyIntegFunc * intg =
new MyIntegFunc(
f1);
l->AddEntry(f2,
"Deriv.");
l->AddEntry(f3,
"Integral");
}
winID h TVirtualViewer3D TVirtualGLPainter p
TRObject operator()(const T1 &t1) const
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void SetMaximum(Double_t maximum=-1111)
Set the maximum value along Y for this function In case the function is already drawn,...
void Draw(Option_t *option="") override
Draw this function with its current attributes.
virtual void SetMinimum(Double_t minimum=-1111)
Set the minimum value along Y for this function In case the function is already drawn,...
virtual void SetParameters(const Double_t *params)
This class displays a legend box (TPaveText) containing several legend entries.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
Double_t Gaus(Double_t x, Double_t mean=0, Double_t sigma=1, Bool_t norm=kFALSE)
Calculates a gaussian function with mean and sigma.
- Author
- Lorenzo Moneta
Definition in file exampleFunctor.C.