casacore
Public Member Functions | Private Member Functions | Private Attributes | List of all members
casacore::LogNormal Class Reference

Logarithmic normal distribution. More...

#include <Random.h>

Public Member Functions

 LogNormal (RNG *gen, Double mean=1.0, Double variance=1.0)
 Construct a random number generator for a log-normal distribution. More...
 
virtual ~LogNormal ()
 The destructor is trivial. More...
 
virtual Double operator() ()
 Returns a value from the log-normal distribution. More...
 
virtual Double mean () const
 Functions that allow you to query and change the parameters of the log-normal distribution. More...
 
virtual void mean (Double x)
 
virtual Double variance () const
 
virtual 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. More...
 
virtual Vector< Doubleparameters () const
 
virtual Bool checkParameters (const Vector< Double > &parms) const
 
- Public Member Functions inherited from casacore::Normal
 Normal (RNG *gen, Double mean=0.0, Double variance=1.0)
 Construct a random number generator for a normal distribution. More...
 
virtual ~Normal ()
 The destructor is trivial. More...
 
- 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)
 

Private Member Functions

void setState ()
 

Private Attributes

Double itsLogMean
 
Double itsLogVar
 

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

Logarithmic normal distribution.

Synopsis

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

It is assumed that the supplied variance is positive 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 1072 of file Random.h.

Constructor & Destructor Documentation

◆ LogNormal()

casacore::LogNormal::LogNormal ( RNG gen,
Double  mean = 1.0,
Double  variance = 1.0 
)

Construct a random number generator for a log-normal 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.

◆ ~LogNormal()

virtual casacore::LogNormal::~LogNormal ( )
virtual

The destructor is trivial.

Member Function Documentation

◆ checkParameters()

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

Reimplemented from casacore::Normal.

◆ mean() [1/2]

Double casacore::LogNormal::mean ( ) const
inlinevirtual

Functions that allow you to query and change the parameters of the log-normal distribution.

Reimplemented from casacore::Normal.

Definition at line 1111 of file Random.h.

References itsLogMean.

◆ mean() [2/2]

virtual void casacore::LogNormal::mean ( Double  x)
virtual

Reimplemented from casacore::Normal.

◆ operator()()

virtual Double casacore::LogNormal::operator() ( )
virtual

Returns a value from the log-normal distribution.

Reimplemented from casacore::Normal.

◆ parameters()

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

Reimplemented from casacore::Normal.

◆ setParameters()

virtual void casacore::LogNormal::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.

Reimplemented from casacore::Normal.

◆ setState()

void casacore::LogNormal::setState ( )
private

◆ variance() [1/2]

Double casacore::LogNormal::variance ( ) const
inlinevirtual

Reimplemented from casacore::Normal.

Definition at line 1115 of file Random.h.

References itsLogVar.

◆ variance() [2/2]

virtual void casacore::LogNormal::variance ( Double  x)
virtual

Reimplemented from casacore::Normal.

Member Data Documentation

◆ itsLogMean

Double casacore::LogNormal::itsLogMean
private

Definition at line 1107 of file Random.h.

Referenced by mean().

◆ itsLogVar

Double casacore::LogNormal::itsLogVar
private

Definition at line 1108 of file Random.h.

Referenced by variance().


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