51 template <
class PtrObj,
typename MemFn>
60 template <
typename Func>
118 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);}
119 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);}
121 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);}
122 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);}
124 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);}
bool Bool_t
Boolean (0=false, 1=true) (bool)
int Int_t
Signed integer 4 bytes (int)
double Double_t
Double 8 bytes.
const char Option_t
Option string (const char)
#define ClassDefOverride(name, id)
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Param Functor class for Multidimensional functions.
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.
EAddToList
Add to list behavior.
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.
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.
void SetSavedPoint(Int_t point, Double_t value) override
Restore value of function saved at point.
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.
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, EAddToList addToGlobList=EAddToList::kDefault)
Template constructors from a pointer to any C++ class of type PtrObj with a specific member 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.
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, EAddToList addToGlobList=EAddToList::kDefault)
Template constructors from any C++ callable object, defining the operator() (double * ,...
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.
static void InitStandardFunctions()
Create the basic function objects.
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.
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.
TH1 is the base class of all histogram classes in ROOT.
Mother of all ROOT objects.
This is the base class for the ROOT Random number generators.