47 template <
class PtrObj,
typename MemFn>
56 template <
class PtrObj,
typename MemFn>
65 template <
typename Func>
74 template <
typename Func>
131 virtual Double_t Mean2X(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t epsilon=0.000001) {
return Moment2(1,ax,bx,0,ay,by,epsilon);}
132 virtual Double_t Mean2Y(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t epsilon=0.000001) {
return Moment2(0,ax,bx,1,ay,by,epsilon);}
134 virtual Double_t Variance2X(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t epsilon=0.000001) {
return CentralMoment2(2,ax,bx,0,ay,by,epsilon);}
135 virtual Double_t Variance2Y(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t epsilon=0.000001) {
return CentralMoment2(0,ax,bx,2,ay,by,epsilon);}
137 virtual Double_t Covariance2XY(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t epsilon=0.000001) {
return CentralMoment2(1,ax,bx,1,ay,by,epsilon);}
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Array of doubles (64 bits per element).
virtual Double_t GetMinimum(Double_t xmin=0, Double_t xmax=0, Double_t epsilon=1.E-10, Int_t maxiter=100, Bool_t logx=false) const
Returns the minimum value of the function on the (xmin, xmax) interval.
virtual void SetRange(Double_t xmin, Double_t xmax)
Initialize the upper and lower bounds to draw the function.
virtual Double_t Integral(Double_t a, Double_t b, Double_t epsrel=1.e-12)
IntegralOneDim or analytical integral.
virtual void GetRange(Double_t *xmin, Double_t *xmax) const
Return range of a generic N-D function.
TF1(EFType functionType, const char *name, Double_t xmin, Double_t xmax, Int_t npar, Int_t ndim, EAddToList addToGlobList, TF1Parameters *params=nullptr, TF1FunctorPointer *functor=nullptr)
General constructor for TF1. Most of the other constructors delegate on it.
Int_t fNpx
Number of points used for the graphical representation.
virtual Double_t GetMaximum(Double_t xmin=0, Double_t xmax=0, Double_t epsilon=1.E-10, Int_t maxiter=100, Bool_t logx=false) const
Returns the maximum value of the function.
A 2-Dim function with parameters.
virtual Double_t GetMaximumXY(Double_t &x, Double_t &y) const
Compute the X and Y values corresponding to the maximum value of the function.
virtual Double_t FindMinMax(Double_t *x, bool findmax) const
Return minimum/maximum value of the function.
~TF2() override
F2 default destructor.
virtual Double_t GetMinimum(Double_t *x) const
Return minimum/maximum value of the function.
void Copy(TObject &f2) const override
Copy this F2 to a new F2.
virtual void GetRandom2(Double_t &xrandom, Double_t &yrandom, TRandom *rng=nullptr)
Return 2 random numbers following this function shape.
Double_t GetSave(const Double_t *x) override
Get value corresponding to X in array of fSave values.
virtual Double_t Mean2X(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t epsilon=0.000001)
virtual Double_t Variance2X(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t epsilon=0.000001)
void Save(Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax) override
Save values of function in array fSave.
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to a function.
virtual void SetContour(Int_t nlevels=20, const Double_t *levels=nullptr)
Set the number and values of contour levels.
TH1 * CreateHistogram() override
Create a histogram from function.
void GetRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const override
Return range of a 2-D function.
virtual Int_t GetContour(Double_t *levels=nullptr)
Return contour values into array levels.
Bool_t IsInside(const Double_t *x) const override
Return kTRUE is the point is inside the function range.
virtual void SetNpy(Int_t npy=100)
Set the number of points used to draw the function.
virtual Double_t Moment2(Double_t nx, Double_t ax, Double_t bx, Double_t ny, Double_t ay, Double_t by, Double_t epsilon=0.000001)
Return x^nx * y^ny moment of a 2d function in range [ax,bx],[ay,by].
virtual Double_t Mean2Y(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t epsilon=0.000001)
TF1 * DrawCopy(Option_t *option="") const override
Draw a copy of this function with its current attributes-*.
virtual Double_t GetMinimumXY(Double_t &x, Double_t &y) const
Compute the X and Y values corresponding to the minimum value of the function.
Int_t fNpy
Number of points along y used for the graphical representation.
void Paint(Option_t *option="") override
Paint this 2-D function with its current attributes.
TArrayD fContour
Array to display contour levels.
TF2(const char *name, const PtrObj &p, MemFn memFn, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Int_t npar, const char *, const char *)
Backward compatible ctor.
virtual Double_t GetYmax() const
virtual Double_t Covariance2XY(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t epsilon=0.000001)
virtual Double_t GetYmin() const
Double_t fYmax
Upper bound for the range in y.
TF2(const char *name, Func f, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Int_t npar, Int_t ndim=2)
Template constructors from any C++ callable object, defining the operator() (double * ,...
TF2(const char *name, const PtrObj &p, MemFn memFn, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Int_t npar, Int_t ndim=2)
Template constructors from a pointer to any C++ class of type PtrObj with a specific member function ...
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out.
TF2 & operator=(const TF2 &rhs)
Operator =.
TObject * DrawIntegral(Option_t *="al") override
Draw integral of this function.
char * GetObjectInfo(Int_t px, Int_t py) const override
Redefines TObject::GetObjectInfo.
virtual Double_t Integral(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t epsrel=1.e-6)
Return Integral of a 2d function in range [ax,bx],[ay,by] with desired relative accuracy (defined by ...
TObject * DrawDerivative(Option_t *="al") override
Draw derivative of this function.
virtual Double_t Variance2Y(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t epsilon=0.000001)
Double_t fYmin
Lower bound for the range in y.
virtual Double_t GetContourLevel(Int_t level) const
Return the number of contour levels.
virtual Double_t CentralMoment2(Double_t nx, Double_t ax, Double_t bx, Double_t ny, Double_t ay, Double_t by, Double_t epsilon=0.000001)
Return x^nx * y^ny central moment of a 2d function in range [ax,bx],[ay,by].
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
virtual void SetContourLevel(Int_t level, Double_t value)
Set value for one contour level.
TF2()
TF2 default constructor.
virtual Double_t GetMaximum(Double_t *x) const
Return maximum value of the function See TF2::GetMinimum.
Double_t GetRandom(TRandom *rng=nullptr, Option_t *opt=nullptr) override
Return a random number following this function shape.
void SetRange(Double_t xmin, Double_t xmax) override
Initialize the upper and lower bounds to draw the function.
TF2(const char *name, Func f, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Int_t npar, const char *)
Backward compatible ctor.
TH1 is the base class of all histogram classes in ROOT.
Mother of all ROOT objects.
TObject()
TObject constructor.
This is the base class for the ROOT Random number generators.
ParamFunctorTempl< double > ParamFunctor