Loading...
Searching...
No Matches
casacore::HyperGeometric Class Reference
casa package (libcasa_casa) » BasicMath_module

Hypergeometric distribution. More...

`#include <Random.h>`

## Public Member Functions

| HyperGeometric (RNG *gen, Double mean=0.5, Double variance=1.0)
| Construct a random number generator for an hypergeometric distribution.
virtual | ~HyperGeometric ()
| The destructor is trivial.
virtual Double | operator() ()
| Returns a value from the hypergeometric distribution.
Double | mean () const
| Functions that allow you to query and change the parameters of the hypergeometric distribution.
void | mean (Double x)
Double | variance () const
void | variance (Double x)
virtual void | setParameters (const Vector< Double > &parms)
| These function allow you to manipulate the parameters (mean & variance) described above through the base class.
virtual Vector< Double > | parameters () const
virtual Bool | checkParameters (const Vector< Double > &parms) const
Public Member Functions inherited from casacore::Random
virtual | ~Random ()
| A virtual destructor is needed to ensure that the destructor of derived classes gets used.
RNG * | generator ()
| Functions that allow you to access and change the class that generates the random bits.
void | generator (RNG *p)

## Private Member Functions

void | setState ()

## Private Attributes

Double | itsMean
Double | itsVariance
Double | itsP

## Additional Inherited Members

Public Types inherited from casacore::Random
enum | Types { BINOMIAL , DISCRETEUNIFORM , ERLANG , GEOMETRIC , HYPERGEOMETRIC , NORMAL , LOGNORMAL , NEGATIVEEXPONENTIAL , POISSON , UNIFORM , WEIBULL , UNKNOWN , NUMBER_TYPES }
| This enumerator lists all the predefined random number distributions. More...
Static Public Member Functions inherited from casacore::Random
static String | asString (Random::Types type)
| Convert the enumerator to a lower-case string.
static Random::Types | asType (const String &str)
| Convert the string to enumerator.
static Random * | construct (Random::Types type, RNG *gen)
| Convert the Random::Type enumerator to a specific object (derived from Random but upcast to a Random object).
static Vector< Double > | defaultParameters (Random::Types type)
| returns the default parameters for the specified distribution.
Protected Member Functions inherited from casacore::Random
| Random (RNG *generator)
Protected Attributes inherited from casacore::Random
RNG * | itsRNG

## Detailed Description

Hypergeometric distribution.

### Synopsis

The HyperGeometric class implements the hypergeometric distribution. The mean and variance are the parameters of the distribution. The operator() functions returns a value from this distribution

It is assumed the variance is positive and that the mean is non-zero and not bigger than the square-root of the variance. An AipsError exception is thrown if this is not true. The remaining members allow you to read and set the parameters.

### Example

### Thrown Exceptions

- AipsError: if bad values for the arguments are given, as specified above.

### To Do

- Nothing I hope!

Definition at line 903 of file Random.h.

## Constructor & Destructor Documentation

## HyperGeometric()

casacore::HyperGeometric::HyperGeometric | ( | RNG * | gen,
|  | Double | mean = 0.5,
|  | Double | variance = 1.0 )

inline

Construct a random number generator for an hypergeometric distribution.

The first argument is a class that produces random bits. This pointer is NOT taken over by this class and the user is responsible for deleting it. The second and third arguments define the parameters for this distribution as described in the synopsis.

Definition at line 944 of file Random.h.

References itsMean, itsVariance, mean(), casacore::Random::Random(), setState(), and variance().

## ~HyperGeometric()

virtual casacore::HyperGeometric::~HyperGeometric | ( |  | ) |

virtual

The destructor is trivial.

## Member Function Documentation

## checkParameters()

virtual Bool casacore::HyperGeometric::checkParameters | ( | const Vector< Double > & | parms | ) | const

virtual

Implements casacore::Random.

## mean() [1/2]

Double casacore::HyperGeometric::mean | ( |  | ) | const

inline

Functions that allow you to query and change the parameters of the hypergeometric distribution.

Definition at line 952 of file Random.h.

References itsMean.

Referenced by HyperGeometric().

## mean() [2/2]

void casacore::HyperGeometric::mean | ( | Double | x | ) |

inline

Definition at line 956 of file Random.h.

References itsMean, and setState().

## operator()()

virtual Double casacore::HyperGeometric::operator() | ( |  | ) |

virtual

Returns a value from the hypergeometric distribution.

Implements casacore::Random.

## parameters()

virtual Vector< Double > casacore::HyperGeometric::parameters | ( |  | ) | const

virtual

Implements casacore::Random.

## setParameters()

virtual void casacore::HyperGeometric::setParameters | ( | const Vector< Double > & | parms | ) |

virtual

These function allow you to manipulate the parameters (mean & variance) described above through the base class.

The Vectors must always be of length two.

Implements casacore::Random.

## setState()

void casacore::HyperGeometric::setState | ( |  | ) |

private

Referenced by HyperGeometric(), mean(), and variance().

## variance() [1/2]

Double casacore::HyperGeometric::variance | ( |  | ) | const

inline

Definition at line 961 of file Random.h.

References itsVariance.

Referenced by HyperGeometric().

## variance() [2/2]

void casacore::HyperGeometric::variance | ( | Double | x | ) |

inline

Definition at line 965 of file Random.h.

References itsVariance, and setState().

## Member Data Documentation

## itsMean

Double casacore::HyperGeometric::itsMean

private

Definition at line 938 of file Random.h.

Referenced by HyperGeometric(), mean(), and mean().

## itsP

Double casacore::HyperGeometric::itsP

private

Definition at line 940 of file Random.h.

## itsVariance

Double casacore::HyperGeometric::itsVariance

private

Definition at line 939 of file Random.h.

Referenced by HyperGeometric(), variance(), and variance().

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

- casa/BasicMath/Random.h