49 template <
class PtrObj,
typename MemFn>
50 TF3(
const char *
name,
const PtrObj& p, MemFn memFn,
Double_t xmin,
Double_t xmax,
Double_t ymin,
Double_t ymax,
Double_t zmin,
Double_t zmax,
Int_t npar,
57 template <
class PtrObj,
typename MemFn>
58 TF3(
const char *
name,
const PtrObj& p, MemFn memFn,
Double_t xmin,
Double_t xmax,
Double_t ymin,
Double_t ymax,
Double_t zmin,
Double_t zmax,
Int_t npar,
59 const char * ,
const char * ) :
65 template <
typename Func>
73 template <
typename Func>
120 virtual Double_t Mean3X(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t az,
Double_t bz,
Double_t epsilon=0.000001) {
return Moment3(1,ax,bx,0,ay,by,0,az,bz,epsilon);}
121 virtual Double_t Mean3Y(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t az,
Double_t bz,
Double_t epsilon=0.000001) {
return Moment3(0,ax,bx,1,ay,by,0,az,bz,epsilon);}
122 virtual Double_t Mean3Z(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t az,
Double_t bz,
Double_t epsilon=0.000001) {
return Moment3(0,ax,bx,0,ay,by,1,az,bz,epsilon);}
124 virtual Double_t Variance3X(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t az,
Double_t bz,
Double_t epsilon=0.000001) {
return CentralMoment3(2,ax,bx,0,ay,by,0,az,bz,epsilon);}
125 virtual Double_t Variance3Y(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t az,
Double_t bz,
Double_t epsilon=0.000001) {
return CentralMoment3(0,ax,bx,2,ay,by,0,az,bz,epsilon);}
126 virtual Double_t Variance3Z(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t az,
Double_t bz,
Double_t epsilon=0.000001) {
return CentralMoment3(0,ax,bx,0,ay,by,2,az,bz,epsilon);}
128 virtual Double_t Covariance3XY(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t az,
Double_t bz,
Double_t epsilon=0.000001) {
return CentralMoment3(1,ax,bx,1,ay,by,0,az,bz,epsilon);}
129 virtual Double_t Covariance3XZ(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t az,
Double_t bz,
Double_t epsilon=0.000001) {
return CentralMoment3(1,ax,bx,0,ay,by,1,az,bz,epsilon);}
130 virtual Double_t Covariance3YZ(
Double_t ax,
Double_t bx,
Double_t ay,
Double_t by,
Double_t az,
Double_t bz,
Double_t epsilon=0.000001) {
return CentralMoment3(0,ax,bx,1,ay,by,1,az,bz,epsilon);}
#define ClassDefOverride(name, id)
virtual void GetRange(Double_t *xmin, Double_t *xmax) const
Return range of a generic N-D 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 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 ...
TF2()
TF2 default constructor.
void SetRange(Double_t xmin, Double_t xmax) override
Initialize the upper and lower bounds to draw the function.
A 3-Dim function with parameters.
virtual Double_t GetZmin() const
virtual Double_t Covariance3XY(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=0.000001)
void GetRange(Double_t &xmin, Double_t &xmax) const override
Return range of a 1-D function.
TF3()
F3 default constructor.
TObject * DrawIntegral(Option_t *="al") override
Draw integral of this function.
void Paint(Option_t *option="") override
Paint this 3-D function with its current attributes.
virtual Double_t Mean3Z(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=0.000001)
virtual void GetRandom3(Double_t &xrandom, Double_t &yrandom, Double_t &zrandom, TRandom *rng=nullptr)
Return 3 random numbers following this function shape.
Bool_t IsInside(const Double_t *x) const override
Return kTRUE is the point is inside the function range.
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
Double_t fZmin
Lower bound for the range in z.
TF3 & operator=(const TF3 &rhs)
Operator =.
virtual void SetNpz(Int_t npz=30)
Set the number of points used to draw the function.
virtual Double_t GetMaximumXYZ(Double_t &x, Double_t &y, Double_t &z)
Compute the X, Y and Z values corresponding to the maximum value of the function on its range.
TF3(const char *name, const PtrObj &p, MemFn memFn, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax, Int_t npar, const char *, const char *)
Backward compatible ctor.
virtual Double_t CentralMoment3(Double_t nx, Double_t ax, Double_t bx, Double_t ny, Double_t ay, Double_t by, Double_t nz, Double_t az, Double_t bz, Double_t epsilon=0.000001)
Return x^nx * y^ny * z^nz central moment of a 3d function in range [ax,bx],[ay,by],...
void Copy(TObject &f3) const override
Copy this F3 to a new F3.
Double_t FindMinMax(Double_t *x, bool findmax) const override
Return minimum/maximum value of the function.
~TF3() override
F3 default destructor.
virtual Double_t Covariance3XZ(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=0.000001)
Bool_t fClipBoxOn
! Is clip box on
virtual Double_t GetMinimumXYZ(Double_t &x, Double_t &y, Double_t &z)
Compute the X, Y and Z values corresponding to the minimum value of the function on its range.
virtual Double_t Variance3Y(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=0.000001)
virtual Double_t Moment3(Double_t nx, Double_t ax, Double_t bx, Double_t ny, Double_t ay, Double_t by, Double_t nz, Double_t az, Double_t bz, Double_t epsilon=0.000001)
Return x^nx * y^ny * z^nz moment of a 3d function in range [ax,bx],[ay,by],[az,bz].
Int_t fNpz
Number of points along z used for the graphical representation.
virtual Bool_t GetClippingBoxOn() const
virtual Double_t Covariance3YZ(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=0.000001)
TF3(const char *name, const PtrObj &p, MemFn memFn, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax, Int_t npar, Int_t ndim=3)
Template constructors from a pointer to any C++ class of type PtrObj with a specific member function ...
virtual void SetClippingBoxOn(Double_t xclip=0, Double_t yclip=0, Double_t zclip=0)
Set the function clipping box (for drawing) "on" and define the clipping box.
TF3(const char *name, Func f, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax, Int_t npar, Int_t ndim=3)
Template constructors from any C++ callable object, defining the operator() (double * ,...
virtual void SetClippingBoxOff()
Set the function clipping box (for drawing) "off".
TObject * DrawDerivative(Option_t *="al") override
Draw derivative of this function.
virtual const Double_t * GetClippingBox() const
Double_t fZmax
Upper bound for the range in z.
virtual Double_t Variance3X(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=0.000001)
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to a function.
virtual Double_t Integral(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsrel=1.e-6)
Return Integral of a 3d function in range [ax,bx],[ay,by],[az,bz] with a desired relative accuracy.
virtual Double_t Mean3X(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=0.000001)
virtual Double_t GetZmax() const
virtual Double_t Variance3Z(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=0.000001)
TF3(const char *name, Func f, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax, Int_t npar, const char *)
Backward compatible ctor.
TH1 * CreateHistogram() override
Create a histogram for axis range.
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.
virtual Double_t Mean3Y(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=0.000001)
Double_t GetSave(const Double_t *x) override
Get value corresponding to X in array of fSave values.
Double_t fClipBox[3]
! Coordinates of clipbox
void SetRange(Double_t xmin, Double_t xmax) override
Initialize the upper and lower bounds to draw the function.
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out.
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.
ParamFunctorTempl< double > ParamFunctor