casa  \$Rev:20696\$
casa::Geometric Class Reference

Discrete geometric distribution. More...

`#include <Random.h>`

Inheritance diagram for casa::Geometric:

List of all members.

## Public Member Functions

Geometric (RNG *gen, Double probability=0.5)
Construct a random number generator for a geometric uniform distribution.
virtual ~Geometric ()
The destructor is trivial.
virtual Double operator() ()
Returns a value from the geometric uniform distribution.
uInt asInt ()
Double probability () const
Functions that allow you to query and change the parameters of the geometric uniform distribution.
void probability (Double x)
virtual void setParameters (const Vector< Double > &parms)
These function allow you to manipulate the parameter (probability) described above through the base class.
virtual Vector< Doubleparameters () const
virtual Bool checkParameters (const Vector< Double > &parms) const

## Private Attributes

Double itsProbability

`   `

## Detailed Description

Discrete geometric distribution.

### Synopsis

The `Geometric` class implements a discrete geometric distribution. The `probability` is the only parameter. The `operator()` functions returns an non-negative integral value indicating the number of uniform random samples actually drawn before one is obtained that is larger than the given probability. To get this same value as an integer use the asInt function.

It is assumed that the probability is between zero and one `(0 <= probability < 1)` and and AipsError exception thrown if this is not true. The remaining function allow you to read and set the parameters.

### Thrown Exceptions

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

### To Do

• Nothing I hope!

Definition at line 834 of file Random.h.

## Constructor & Destructor Documentation

 casa::Geometric::Geometric ( RNG * gen, Double probability = `0.5` )

Construct a random number generator for a geometric uniform 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 argument defines the range of possible return values for this distribution as described in the synopsis.

 virtual casa::Geometric::~Geometric ( ) ` [virtual]`

The destructor is trivial.

## Member Function Documentation

 uInt casa::Geometric::asInt ( )
 virtual Bool casa::Geometric::checkParameters ( const Vector< Double > & parms ) const` [virtual]`

Implements casa::Random.

 virtual Double casa::Geometric::operator() ( ) ` [virtual]`

Returns a value from the geometric uniform distribution.

The returned value is a non-negative integer and using the asInt function bypasses the conversion to a floating point number.

Implements casa::Random.

 virtual Vector casa::Geometric::parameters ( ) const` [virtual]`

Implements casa::Random.

 Double casa::Geometric::probability ( ) const` [inline]`

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

Definition at line 874 of file Random.h.

References itsProbability.

 void casa::Geometric::probability ( Double x )
 virtual void casa::Geometric::setParameters ( const Vector< Double > & parms ) ` [virtual]`

These function allow you to manipulate the parameter (probability) described above through the base class.

The Vectors must always be of length one.

Implements casa::Random.

## Member Data Documentation

 Double casa::Geometric::itsProbability` [private]`

`   `

Definition at line 871 of file Random.h.

Referenced by probability().

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