40 bool vectorize =
false);
49 TF3(
const char *
name,
ROOT::Math::ParamFunctor f,
Double_t xmin = 0,
Double_t xmax = 1,
Double_t ymin = 0,
Double_t ymax = 1,
Double_t zmin=0,
Double_t zmax=1,
Int_t npar = 0,
Int_t ndim = 3,
EAddToList addToGlobList =
EAddToList::kDefault);
52 template <
class PtrObj,
typename MemFn>
53 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,
55 TF2(
name,p,memFn,
xmin,
xmax,
ymin,
ymax,npar,ndim,addToGlobList),
60 template <
typename Func>
108 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);}
109 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);}
110 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);}
112 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);}
113 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);}
114 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);}
116 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);}
117 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);}
118 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);}
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)
EAddToList
Add to list behavior.
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.
TF3 defines a 3D 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.
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, 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, EAddToList addToGlobList=EAddToList::kDefault)
Template constructors from any C++ callable object, defining the operator() (double * ,...
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.
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
static void InitStandardFunctions()
Create the basic function objects.
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)
TH1 * CreateHistogram() override
Create a histogram for axis 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, Int_t ndim=3, EAddToList addToGlobList=EAddToList::kDefault)
Template constructors from a pointer to any C++ class of type PtrObj with a specific member function ...
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