cern.jet.random
Class BreitWigner

java.lang.Object
  extended by cern.colt.PersistentObject
      extended by cern.jet.random.AbstractDistribution
          extended by cern.jet.random.AbstractContinousDistribution
              extended by cern.jet.random.BreitWigner
All Implemented Interfaces:
DoubleFunction, IntFunction, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
BreitWignerMeanSquare

public class BreitWigner
extends AbstractContinousDistribution

BreitWigner (aka Lorentz) distribution; See the math definition. A more general form of the Cauchy distribution.

Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.

Static methods operate on a default uniform random number generator; they are synchronized.

Implementation: This is a port of RandBreitWigner used in CLHEP 1.4.0 (C++).

Author:
wolfgang.hoschek@cern.ch
See Also:
Serialized Form

Field Summary
protected  double cut
           
protected  double gamma
           
protected  double mean
           
protected static BreitWigner shared
           
 
Fields inherited from class cern.jet.random.AbstractDistribution
randomGenerator
 
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
 
Constructor Summary
BreitWigner(double mean, double gamma, double cut, RandomEngine randomGenerator)
          Constructs a BreitWigner distribution.
 
Method Summary
 double nextDouble()
          Returns a random number from the distribution.
 double nextDouble(double mean, double gamma, double cut)
          Returns a random number from the distribution; bypasses the internal state.
 void setState(double mean, double gamma, double cut)
          Sets the mean, gamma and cut parameters.
static double staticNextDouble(double mean, double gamma, double cut)
          Returns a random number from the distribution.
 java.lang.String toString()
          Returns a String representation of the receiver.
 
Methods inherited from class cern.jet.random.AbstractDistribution
apply, apply, clone, getRandomGenerator, makeDefaultGenerator, nextInt, setRandomGenerator
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mean

protected double mean

gamma

protected double gamma

cut

protected double cut

shared

protected static BreitWigner shared
Constructor Detail

BreitWigner

public BreitWigner(double mean,
                   double gamma,
                   double cut,
                   RandomEngine randomGenerator)
Constructs a BreitWigner distribution.

Parameters:
cut - cut==Double.NEGATIVE_INFINITY indicates "don't cut".
Method Detail

nextDouble

public double nextDouble()
Returns a random number from the distribution.

Specified by:
nextDouble in class AbstractDistribution

nextDouble

public double nextDouble(double mean,
                         double gamma,
                         double cut)
Returns a random number from the distribution; bypasses the internal state.

Parameters:
cut - cut==Double.NEGATIVE_INFINITY indicates "don't cut".

setState

public void setState(double mean,
                     double gamma,
                     double cut)
Sets the mean, gamma and cut parameters.

Parameters:
cut - cut==Double.NEGATIVE_INFINITY indicates "don't cut".

staticNextDouble

public static double staticNextDouble(double mean,
                                      double gamma,
                                      double cut)
Returns a random number from the distribution.

Parameters:
cut - cut==Double.NEGATIVE_INFINITY indicates "don't cut".

toString

public java.lang.String toString()
Returns a String representation of the receiver.

Overrides:
toString in class java.lang.Object