casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
casa::HyperGeometric Class Reference

Hypergeometric distribution. More...

#include <Random.h>

Inheritance diagram for casa::HyperGeometric:
casa::Random

List of all members.

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< Doubleparameters () const
virtual Bool checkParameters (const Vector< Double > &parms) const

Private Member Functions

void setState ()
 
   

Private Attributes

Double itsMean
Double itsVariance
Double itsP

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

To Do

Definition at line 904 of file Random.h.


Constructor & Destructor Documentation

casa::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 945 of file Random.h.

References setState().

The destructor is trivial.


Member Function Documentation

virtual Bool casa::HyperGeometric::checkParameters ( const Vector< Double > &  parms) const [virtual]

Implements casa::Random.

Double casa::HyperGeometric::mean ( ) const [inline]

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

Definition at line 953 of file Random.h.

References itsMean.

void casa::HyperGeometric::mean ( Double  x) [inline]

Definition at line 957 of file Random.h.

References itsMean, and setState().

virtual Double casa::HyperGeometric::operator() ( ) [virtual]

Returns a value from the hypergeometric distribution.

Implements casa::Random.

virtual Vector<Double> casa::HyperGeometric::parameters ( ) const [virtual]

Implements casa::Random.

virtual void casa::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 casa::Random.

void casa::HyperGeometric::setState ( ) [private]

   

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

Definition at line 962 of file Random.h.

References itsVariance.

void casa::HyperGeometric::variance ( Double  x) [inline]

Definition at line 966 of file Random.h.

References itsVariance, and setState().


Member Data Documentation

Definition at line 939 of file Random.h.

Referenced by mean().

Definition at line 941 of file Random.h.

Definition at line 940 of file Random.h.

Referenced by variance().


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