npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::AbsScalableDistributionND Class Referenceabstract

#include <AbsDistributionND.hh>

Inheritance diagram for npstat::AbsScalableDistributionND:
npstat::AbsDistributionND npstat::BinnedDensityND npstat::RadialProfileND npstat::ScalableGaussND npstat::ScalableHuberND npstat::ScalableSymmetricBetaND npstat::UniformND

Public Member Functions

 AbsScalableDistributionND (const double *location, const double *scale, unsigned dim)
 
double location (unsigned i) const
 
double scale (unsigned i) const
 
void setLocation (unsigned i, double v)
 
void setScale (unsigned i, double v)
 
double density (const double *x, unsigned dim) const
 
void unitMap (const double *rnd, unsigned dim, double *x) const
 
virtual AbsScalableDistributionNDclone () const =0
 
virtual bool mappedByQuantiles () const =0
 
virtual gs::ClassId classId () const =0
 
virtual bool write (std::ostream &os) const
 
- Public Member Functions inherited from npstat::AbsDistributionND
 AbsDistributionND (const unsigned dim)
 
 AbsDistributionND (const AbsDistributionND &r)
 
AbsDistributionNDoperator= (const AbsDistributionND &r)
 
bool operator== (const AbsDistributionND &r) const
 
bool operator!= (const AbsDistributionND &r) const
 
unsigned dim () const
 
virtual unsigned random (AbsRandomGenerator &g, double *x, unsigned lenX) const
 

Static Public Member Functions

static bool read (std::istream &is, unsigned *dim, std::vector< double > *locations, std::vector< double > *scales)
 
- Static Public Member Functions inherited from npstat::AbsDistributionND
static const char * classname ()
 
static unsigned version ()
 
static AbsDistributionNDread (const gs::ClassId &id, std::istream &)
 

Protected Member Functions

virtual bool isEqual (const AbsDistributionND &) const
 

Additional Inherited Members

- Protected Attributes inherited from npstat::AbsDistributionND
const unsigned dim_
 

Detailed Description

Distribution which is scalable and shiftable in each direction separately (but can not be rotated)

Constructor & Destructor Documentation

◆ AbsScalableDistributionND()

npstat::AbsScalableDistributionND::AbsScalableDistributionND ( const double *  location,
const double *  scale,
unsigned  dim 
)

Location and scale parameters must be provided. The length of the location and scale arrays must be equal to the dimensionality of the density support.

Member Function Documentation

◆ classId()

virtual gs::ClassId npstat::AbsScalableDistributionND::classId ( ) const
pure virtual

◆ clone()

virtual AbsScalableDistributionND* npstat::AbsScalableDistributionND::clone ( ) const
pure virtual

◆ density()

double npstat::AbsScalableDistributionND::density ( const double *  x,
unsigned  dim 
) const
virtual

Method overriden from the AbsDistributionND base class

Implements npstat::AbsDistributionND.

◆ isEqual()

virtual bool npstat::AbsScalableDistributionND::isEqual ( const AbsDistributionND ) const
protectedvirtual

Derived classes should override the following method as long as they have at least one additional data member. Don't forget to call "isEqual" of the base class inside the derived class.

Implements npstat::AbsDistributionND.

Reimplemented in npstat::ScalableGaussND, npstat::UniformND, npstat::BinnedDensityND, npstat::RadialProfileND, npstat::ScalableHuberND, and npstat::ScalableSymmetricBetaND.

◆ location()

double npstat::AbsScalableDistributionND::location ( unsigned  i) const
inline

Get the location parameter for the given coordinate

◆ mappedByQuantiles()

virtual bool npstat::AbsScalableDistributionND::mappedByQuantiles ( ) const
pure virtual

Is the mappling from the unit cube to the support region performed by the conditional quantile functions?

Implements npstat::AbsDistributionND.

Implemented in npstat::ScalableGaussND, npstat::BinnedDensityND, npstat::RadialProfileND, npstat::ScalableHuberND, npstat::ScalableSymmetricBetaND, and npstat::UniformND.

◆ read()

static bool npstat::AbsScalableDistributionND::read ( std::istream &  is,
unsigned *  dim,
std::vector< double > *  locations,
std::vector< double > *  scales 
)
static

Pseudo-read function for I/O. Note that this class is abstract, so its instance can not be created.

◆ scale()

double npstat::AbsScalableDistributionND::scale ( unsigned  i) const
inline

Get the scale parameter for the given coordinate

◆ setLocation()

void npstat::AbsScalableDistributionND::setLocation ( unsigned  i,
double  v 
)
inline

Set the location parameter for the given coordinate

◆ setScale()

void npstat::AbsScalableDistributionND::setScale ( unsigned  i,
double  v 
)

Set the scale parameter for the given coordinate

◆ unitMap()

void npstat::AbsScalableDistributionND::unitMap ( const double *  rnd,
unsigned  bufLen,
double *  x 
) const
virtual

Mapping from the unit hypercube into the density support region. Note that "bufLen" does not have to be equal to the dimensionality of the function. There may be an efficient way to generate just the leading dimensions in case "bufLen" is smaller than the dimensionality.

Implements npstat::AbsDistributionND.


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