casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
casacore::Uniform Class Reference

Uniform distribution. More...

#include <Random.h>

Inheritance diagram for casacore::Uniform:
casacore::Random

Public Member Functions

 Uniform (RNG *gen, Double low=-1.0, Double high=1.0)
 Construct a random number generator for a uniform distribution. More...
 
virtual ~Uniform ()
 The destructor is trivial. More...
 
virtual Double operator() ()
 Returns a value from the uniform distribution. More...
 
Double low () const
 Functions that allow you to query and change the parameters of the uniform distribution. More...
 
void low (Double x)
 
Double high () const
 
void high (Double x)
 
void range (Double low, Double high)
 
virtual void setParameters (const Vector< Double > &parms)
 These function allow you to manipulate the parameters (low & high) described above through the base class. More...
 
virtual Vector< Doubleparameters () 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. More...
 
RNGgenerator ()
 Functions that allow you to access and change the class that generates the random bits. More...
 
void generator (RNG *p)
 

Static Private Member Functions

static Double calcDelta (Double low, Double high)
 

Private Attributes

Double itsLow
 
Double itsHigh
 
Double itsDelta
 

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. More...
 
static Random::Types asType (const String &str)
 Convert the string to enumerator. More...
 
static Randomconstruct (Random::Types type, RNG *gen)
 Convert the Random::Type enumerator to a specific object (derived from Random but upcast to a Random object). More...
 
static Vector< DoubledefaultParameters (Random::Types type)
 returns the default parameters for the specified distribution. More...
 
- Protected Member Functions inherited from casacore::Random
 Random (RNG *generator)
 
- Protected Attributes inherited from casacore::Random
RNGitsRNG
 

Detailed Description

Uniform distribution.

Synopsis

The Uniform class implements a uniform random variable over the copen interval ranging from [low..high). The low parameter is the lowest possible return value and the high parameter can never be returned. The operator() functions returns a value from this distribution.

It is assumed that low limit is less than the high limit and 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 1273 of file Random.h.

Constructor & Destructor Documentation

casacore::Uniform::Uniform ( RNG gen,
Double  low = -1.0,
Double  high = 1.0 
)

Construct a random number generator for a 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 remaining arguments define the parameters for this distribution as described in the synopsis.

virtual casacore::Uniform::~Uniform ( )
virtual

The destructor is trivial.

Member Function Documentation

static Double casacore::Uniform::calcDelta ( Double  low,
Double  high 
)
staticprivate
virtual Bool casacore::Uniform::checkParameters ( const Vector< Double > &  parms) const
virtual

Implements casacore::Random.

Double casacore::Uniform::high ( ) const
inline

Definition at line 1318 of file Random.h.

References itsHigh.

void casacore::Uniform::high ( Double  x)
Double casacore::Uniform::low ( ) const
inline

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

Definition at line 1314 of file Random.h.

References itsLow.

void casacore::Uniform::low ( Double  x)
virtual Double casacore::Uniform::operator() ( )
virtual

Returns a value from the uniform distribution.

Implements casacore::Random.

virtual Vector<Double> casacore::Uniform::parameters ( ) const
virtual

Implements casacore::Random.

void casacore::Uniform::range ( Double  low,
Double  high 
)
virtual void casacore::Uniform::setParameters ( const Vector< Double > &  parms)
virtual

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

The Vectors must always be of length two.

Implements casacore::Random.

Member Data Documentation

Double casacore::Uniform::itsDelta
private

Definition at line 1311 of file Random.h.

Double casacore::Uniform::itsHigh
private

Definition at line 1310 of file Random.h.

Referenced by high().

Double casacore::Uniform::itsLow
private

Definition at line 1309 of file Random.h.

Referenced by low().


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