27 : fPdf(pdf), fDPdf(
dpdf), fCdf(
cdf), fXmin(1.), fXmax(-1.), fMode(0), fArea(0), fIsLogPdf(
isLogPdf), fHasDomain(
false),
47 fPdf( (pdf) ?
new ROOT::
Math::WrappedTF1 ( *pdf) : nullptr ),
81 if (
this == &
rhs)
return *
this;
100 fPdf = (
rhs.fPdf) ?
rhs.fPdf->Clone() :
nullptr;
101 fDPdf = (
rhs.fDPdf) ?
rhs.fDPdf->Clone() :
nullptr;
102 fCdf = (
rhs.fCdf) ?
rhs.fCdf->Clone() :
nullptr;
152 static double gEps = 0.001;
153 double h = ( std::abs(
x) > 0 ) ?
gEps * std::abs(
x) :
gEps;
155 return rd.Derivative1( *
fPdf,
x,
h);
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
User Class for performing numerical integration of a function in one dimension.
User class for calculating the derivatives of a function.
Class to Wrap a ROOT Function class (like TF1) in a IParamFunction interface of one dimensions to be ...
TUnuranBaseDist, base class for Unuran distribution classes such as TUnuranContDist (for one-dimensio...
TUnuranContDist class describing one dimensional continuous distribution.
const ROOT::Math::IGenFunction * fDPdf
pointer to the derivative of the pdf
double fXmin
lower value of the domain
double DPdf(double x) const
evaluate the derivative of the pdf.
const ROOT::Math::IGenFunction * fPdf
pointer to the pdf
bool fHasArea
flag to control if distribution has a pre-computed area below the pdf
double Pdf(double x) const
evaluate the Probability Density function.
double fMode
mode of the distribution
double fArea
area below pdf
bool fHasMode
flag to control if distribution has a pre-computed mode
const ROOT::Math::IGenFunction * fCdf
pointer to the cdf (cumulative dist.)
bool fIsLogPdf
flag to control if function pointer represent log of pdf
double Cdf(double x) const
evaluate the integral (cdf) on the domain.
TUnuranContDist(TF1 *pdf=nullptr, TF1 *deriv=nullptr, bool isLogPdf=false)
Constructor from a TF1 objects specifying the pdf and optionally from another function representing t...
void SetCdf(TF1 *cdf)
set cdf distribution.
double fXmax
upper value of the domain
bool fHasDomain
flag to control if distribution has a defined domain (otherwise is [-inf,+inf]
~TUnuranContDist() override
Destructor.
bool fOwnFunc
flag to indicate if class manages the function pointers
TUnuranContDist & operator=(const TUnuranContDist &rhs)
Assignment operator.
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...
Double_t QuietNaN()
Returns a quiet NaN as defined by IEEE 754.