TF3


class description - source file - inheritance tree

class TF3 : public TF2


    public:
TF3 TF3() TF3 TF3(const char* name, const char* formula, Float_t xmin = 0, Float_t xmax = 1, Float_t ymin = 0, Float_t ymax = 1, Float_t zmin = 0, Float_t zmax = 1) TF3 TF3(const char* name, void* fcn, Float_t xmin = 0, Float_t xmax = 1, Float_t ymin = 0, Float_t ymax = 1, Float_t zmin = 0, Float_t zmax = 1, Int_t npar = 0) TF3 TF3(const char* name, Double_t (*)(Double_t*, Double_t*) fcn, Float_t xmin = 0, Float_t xmax = 1, Float_t ymin = 0, Float_t ymax = 1, Float_t zmin = 0, Float_t zmax = 1, Int_t npar = 0) TF3 TF3(const TF3& f3) virtual void ~TF3() TClass* Class() virtual void Copy(TObject& f3) virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) virtual void Draw(Option_t* option) virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) Int_t GetNpz() virtual void GetRandom3(Float_t& xrandom, Float_t& yrandom, Float_t& zrandom) virtual void GetRange(Float_t& xmin, Float_t& xmax) virtual void GetRange(Float_t& xmin, Float_t& ymin, Float_t& xmax, Float_t& ymax) virtual void GetRange(Float_t& xmin, Float_t& ymin, Float_t& zmin, Float_t& xmax, Float_t& ymax, Float_t& zmax) virtual Float_t GetZmax() virtual Float_t GetZmin() virtual Double_t Integral(Float_t ax, Float_t bx, Float_t ay, Float_t by, Float_t az, Float_t bz, Float_t epsilon = 0.000001) virtual Double_t Integral(Float_t a, Float_t b, Double_t* params = 0, Float_t epsilon = 0.000001) virtual Double_t Integral(Float_t ax, Float_t bx, Float_t ay, Float_t by, Float_t epsilon = 0.000001) virtual TClass* IsA() const virtual void Paint(Option_t* option) virtual void SetNpz(Int_t npz = 30) virtual void SetRange(Float_t xmin, Float_t xmax) virtual void SetRange(Float_t xmin, Float_t ymin, Float_t xmax, Float_t ymax) virtual void SetRange(Float_t xmin, Float_t ymin, Float_t zmin, Float_t xmax, Float_t ymax, Float_t zmax) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b)

Data Members

protected:
Float_t fZmin Lower bound for the range in z Float_t fZmax Upper bound for the range in z Int_t fNpz Number of points along z used for the graphical representation

Class Description

 a 3-Dim function with parameters


TF3(): TF2()
*-*-*-*-*-*-*-*-*-*-*F3 default constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ======================

TF3(const char *name,const char *formula, Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax) :TF2(name,formula,xmin,xmax,ymin,ymax)
*-*-*-*-*-*-*F3 constructor using a formula definition*-*-*-*-*-*-*-*-*-*-*
*-*          =========================================
*-*
*-*  See TFormula constructor for explanation of the formula syntax.
*-*
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

TF3(const char *name,void *fcn, Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax, Int_t npar) :TF2(name,fcn,xmin,xmax,ymin,ymax,npar)
*-*-*-*-*-*-*F3 constructor using a pointer to an interpreted function*-*-*
*-*          =========================================================
*-*
*-*   npar is the number of free parameters used by the function
*-*
*-*  Creates a function of type C between xmin and xmax and ymin,ymax.
*-*  The function is defined with npar parameters
*-*  fcn must be a function of type:
*-*     Double_t fcn(Double_t *x, Double_t *params)
*-*
*-*  This constructor is called for functions of type C by CINT.
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

TF3(const char *name,Double_t (*fcn)(Double_t *, Double_t *), Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax, Int_t npar) :TF2(name,fcn,xmin,xmax,ymin,ymax,npar)
*-*-*-*-*-*-*F3 constructor using a pointer to real function*-*-*-*-*-*-*-*
*-*          ===============================================
*-*
*-*   npar is the number of free parameters used by the function
*-*
*-*  For example, for a 3-dim function with 3 parameters, the user function
*-*      looks like:
*-*    Double_t fun1(Double_t *x, Double_t *par)
*-*        return par[0]*x[2] + par[1]*exp(par[2]*x[0]*x[1]);
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

~TF3()
*-*-*-*-*-*-*-*-*-*-*F3 default destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  =====================

TF3(const TF3 &f3)

void Copy(TObject &obj)
*-*-*-*-*-*-*-*-*-*-*Copy this F3 to a new F3*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ========================

Int_t DistancetoPrimitive(Int_t px, Int_t py)
*-*-*-*-*-*-*-*-*-*-*Compute distance from point px,py to a function*-*-*-*-*
*-*                  ===============================================
*-*  Compute the closest distance of approach from point px,py to this function.
*-*  The distance is computed in pixels units.
*-*
*-*  Algorithm:
*-*
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void Draw(Option_t *option)
*-*-*-*-*-*-*-*-*-*-*Draw this function with its current attributes*-*-*-*-*
*-*                  ==============================================

void ExecuteEvent(Int_t event, Int_t px, Int_t py)
*-*-*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*
*-*                  =========================================
*-*  This member function is called when a F3 is clicked with the locator
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void GetRandom3(Float_t &xrandom, Float_t &yrandom, Float_t &zrandom)
*-*-*-*-*-*Return 3 random numbers following this function shape*-*-*-*-*-*
*-*        =====================================================
*-*
*-*   The distribution contained in this TF3 function is integrated
*-*   over the cell contents.
*-*   It is normalized to 1.
*-*   Getting the three random numbers implies:
*-*     - Generating a random number between 0 and 1 (say r1)
*-*     - Look in which cell in the normalized integral r1 corresponds to
*-*     - make a linear interpolation in the returned cell
*-*

void GetRange(Float_t &xmin, Float_t &ymin, Float_t &zmin, Float_t &xmax, Float_t &ymax, Float_t &zmax)
*-*-*-*-*-*-*-*-*-*-*Return range of function*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ========================

Double_t Integral(Float_t ax, Float_t bx, Float_t ay, Float_t by, Float_t az, Float_t bz, Float_t epsilon)
 Return Integral of a 3d function in range [ax,bx],[ay,by],[az,bz]


void Paint(Option_t *)
*-*-*-*-*-*-*-*-*Paint this 2-D function with its current attributes*-*-*-*-*
*-*              ===================================================

void SetNpz(Int_t npz)
*-*-*-*-*-*-*-*Set the number of points used to draw the function*-*-*-*-*-*
*-*            ==================================================

void SetRange(Float_t xmin, Float_t ymin, Float_t zmin, Float_t xmax, Float_t ymax, Float_t zmax)
*-*-*-*-*-*Initialize the upper and lower bounds to draw the function*-*-*-*
*-*        ==========================================================



Inline Functions


              Int_t GetNpz()
               void GetRange(Float_t& xmin, Float_t& ymin, Float_t& xmax, Float_t& ymax)
               void GetRange(Float_t& xmin, Float_t& ymin, Float_t& zmin, Float_t& xmax, Float_t& ymax, Float_t& zmax)
            Float_t GetZmin()
            Float_t GetZmax()
           Double_t Integral(Float_t ax, Float_t bx, Float_t ay, Float_t by, Float_t epsilon = 0.000001)
           Double_t Integral(Float_t ax, Float_t bx, Float_t ay, Float_t by, Float_t az, Float_t bz, Float_t epsilon = 0.000001)
               void SetRange(Float_t xmin, Float_t ymin, Float_t xmax, Float_t ymax)
               void SetRange(Float_t xmin, Float_t ymin, Float_t zmin, Float_t xmax, Float_t ymax, Float_t zmax)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)


Author: Rene Brun 27/10/95
Last update: 2.23/02 04/09/99 09.27.43 by Rene Brun
Copyright (c) 1995-1999, The ROOT System, All rights reserved. *


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.