14#ifndef ROOT_Math_IntegratorMultiDim 
   15#define ROOT_Math_IntegratorMultiDim 
  133   template<
class Function>
 
  144   template <
class Function>
 
  198   std::unique_ptr<IMultiGenFunction> 
fFunc;    
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
 
Double_t(* Function)(Double_t)
 
Documentation for the abstract class IBaseFunctionMultiDim.
 
Numerical multi dimensional integration options.
 
std::string Integrator() const override
name of multi-dim integrator
 
User class for performing multidimensional integration.
 
double Integral(const double *xmin, const double *xmax)
evaluate the integral with the previously given function between xmin[] and xmax[]
 
IntegratorMultiDim(const IMultiGenFunction &f, IntegrationMultiDim::Type type=IntegrationMultiDim::kDEFAULT, double absTol=-1, double relTol=-1, unsigned int ncall=0)
Generic Constructor of multi dimensional Integrator passing a function.
 
static std::string GetName(IntegrationMultiDim::Type)
static function to get a string from the enumeration
 
void SetOptions(const ROOT::Math::IntegratorMultiDimOptions &opt)
set the options
 
IntegrationMultiDim::Type Type
 
double Integral(const IMultiGenFunction &f, const double *xmin, const double *xmax)
evaluate the integral passing a new function
 
void SetFunction(Function &f, unsigned int dim)
set integration function using a generic function implementing the operator()(double *x) The dimensio...
 
static IntegrationMultiDim::Type GetType(const char *name)
static function to get the enumeration from a string
 
VirtualIntegratorMultiDim * fIntegrator
pointer to multi-dimensional integrator base class
 
double Result() const
return result of last integration
 
virtual ~IntegratorMultiDim()
Template Constructor of multi dimensional Integrator passing a generic function.
 
int Status() const
return the Error Status of the last Integral calculation
 
void SetRelTolerance(double relTol)
set the relative tolerance
 
VirtualIntegratorMultiDim * GetIntegrator()
return a pointer to integrator object
 
IntegratorMultiDim(IntegrationMultiDim::Type type=IntegrationMultiDim::kDEFAULT, double absTol=-1, double relTol=-1, unsigned int ncall=0)
Generic constructor of multi dimensional Integrator.
 
std::string Name() const
return name of integrator
 
std::unique_ptr< IMultiGenFunction > fFunc
pointer to owned function
 
IntegratorMultiDim & operator=(const IntegratorMultiDim &)
 
VirtualIntegratorMultiDim * CreateIntegrator(IntegrationMultiDim::Type type, double absTol, double relTol, unsigned int ncall)
 
void SetFunction(const IMultiGenFunction &f)
 
ROOT::Math::IntegratorMultiDimOptions Options() const
retrieve the options
 
double Error() const
return integration error
 
IntegratorMultiDim(const IntegratorMultiDim &)
 
double Integral(Function &f, unsigned int dim, const double *xmin, const double *xmax)
evaluate the integral passing a new generic function
 
void SetAbsTolerance(double absTol)
set absolute tolerance
 
Interface (abstract) class for multi numerical integration It must be implemented by the concrete Int...
 
virtual void SetOptions(const ROOT::Math::IntegratorMultiDimOptions &opt)
set the options (if needed must be re-implemented by derived classes)
 
virtual double Integral(const double *, const double *)=0
evaluate multi-dim integral
 
virtual ROOT::Math::IntegratorMultiDimOptions Options() const =0
get the option used for the integration implement by derived class otherwise return default ones
 
virtual void SetFunction(const IMultiGenFunction &)=0
setting a multi-dim function
 
virtual void SetRelTolerance(double)=0
set the desired relative Error
 
virtual void SetAbsTolerance(double)=0
set the desired absolute Error
 
virtual double Error() const =0
return the estimate of the absolute Error of the last Integral calculation
 
virtual double Result() const =0
return the Result of the last Integral calculation
 
virtual int Status() const =0
return the Error Status of the last Integral calculation
 
Type
enumeration specifying the integration types.
 
@ kDEFAULT
default type specified in the static option
 
Namespace for new Math classes and functions.
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...