npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::ModulatedDistribution1D< Functor > Class Template Reference
Inheritance diagram for npstat::ModulatedDistribution1D< Functor >:
npstat::AbsDistribution1D

Public Member Functions

 ModulatedDistribution1D (const AbsDistribution1D &distro, const Functor &fcn, const double fcnXmin=-DBL_MAX, const double fcnXmax=DBL_MAX, const unsigned nIntegPoints=1024, const unsigned nIntegIntervals=1)
 
 ModulatedDistribution1D (const ModulatedDistribution1D &r)
 
ModulatedDistribution1Doperator= (const ModulatedDistribution1D &r)
 
virtual ModulatedDistribution1Dclone () const
 
virtual double density (const double x) const
 
virtual double cdf (const double x) const
 
virtual double exceedance (const double x) const
 
virtual double quantile (const double r1) const
 
virtual gs::ClassId classId () const
 
- Public Member Functions inherited from npstat::AbsDistribution1D
bool operator== (const AbsDistribution1D &r) const
 
bool operator!= (const AbsDistribution1D &r) const
 
virtual unsigned random (AbsRandomGenerator &g, double *generatedRandom) const
 
long double empiricalMoment (long double center, unsigned order, unsigned nIntegrationPoints=1024U, bool useFejerQuadrature=false) const
 
template<class Functor >
double expectation (const Functor &fcn, unsigned nIntegrationPoints=1024U, bool useFejerQuadrature=false) const
 
virtual bool write (std::ostream &) const
 

Static Public Member Functions

static const char * classname ()
 
static unsigned version ()
 
- Static Public Member Functions inherited from npstat::AbsDistribution1D
static const char * classname ()
 
static unsigned version ()
 
static AbsDistribution1Dread (const gs::ClassId &id, std::istream &)
 

Protected Member Functions

virtual bool isEqual (const AbsDistribution1D &other) const
 

Constructor & Destructor Documentation

◆ ModulatedDistribution1D()

template<class Functor >
npstat::ModulatedDistribution1D< Functor >::ModulatedDistribution1D ( const AbsDistribution1D distro,
const Functor &  fcn,
const double  fcnXmin = -DBL_MAX,
const double  fcnXmax = DBL_MAX,
const unsigned  nIntegPoints = 1024,
const unsigned  nIntegIntervals = 1 
)
inline

Constructor arguments are as follows:

distro – distribution whose density we want to modulate

fcn – functor that will be multiplied by the density

fcnXmin, fcnXmax – limits for the functor support

nIntegPoints – number of points to use for various integrations. Should be supported by the GaussLegendreQuadrature class.

nIntegIntervals – number of intervals to use for various integrations. The support will be split into this number of intervals and then the quadrature with nIntegPoints points will be used on each interval.

Member Function Documentation

◆ cdf()

template<class Functor >
virtual double npstat::ModulatedDistribution1D< Functor >::cdf ( const double  x) const
inlinevirtual

Cumulative distribution function

Implements npstat::AbsDistribution1D.

◆ classId()

template<class Functor >
virtual gs::ClassId npstat::ModulatedDistribution1D< Functor >::classId ( ) const
inlinevirtual

Read/write functions are not implemented so that we can use this class with functors that do not support I/O

Implements npstat::AbsDistribution1D.

◆ clone()

template<class Functor >
virtual ModulatedDistribution1D* npstat::ModulatedDistribution1D< Functor >::clone ( ) const
inlinevirtual

"Virtual copy constructor"

Implements npstat::AbsDistribution1D.

◆ density()

template<class Functor >
virtual double npstat::ModulatedDistribution1D< Functor >::density ( const double  x) const
inlinevirtual

Distribution density

Implements npstat::AbsDistribution1D.

◆ exceedance()

template<class Functor >
virtual double npstat::ModulatedDistribution1D< Functor >::exceedance ( const double  x) const
inlinevirtual

1 - cdf, avoiding subtractive cancellation

Implements npstat::AbsDistribution1D.

◆ isEqual()

template<class Functor >
virtual bool npstat::ModulatedDistribution1D< Functor >::isEqual ( const AbsDistribution1D ) const
inlineprotectedvirtual

Comparison for equality. To be implemented by derived classes.

Implements npstat::AbsDistribution1D.

◆ quantile()

template<class Functor >
virtual double npstat::ModulatedDistribution1D< Functor >::quantile ( const double  r1) const
inlinevirtual

The quantile function

Implements npstat::AbsDistribution1D.


The documentation for this class was generated from the following file: