34 virtual void setSeed(
const size_t seedValue) = 0;
36 virtual void setRange(
const double start,
const double end) = 0;
40 virtual double nextValue(
double start,
double end) = 0;
42 virtual int nextInt(
int start,
int end) = 0;
44 void generateNextPoint()
override;
49 virtual double min()
const = 0;
51 virtual double max()
const = 0;
This class defines an interface for N dimensional random number generators.
Defines a 1D pseudo-random number generator, i.e.
PseudoRandomNumberGenerator(const PseudoRandomNumberGenerator &)=delete
Disable copy operator.
virtual void setSeed(const size_t seedValue)=0
Set the random number seed.
double operator()()
Return next random value.
virtual double min() const =0
Return the minimum value of the range.
PseudoRandomNumberGenerator & operator=(const PseudoRandomNumberGenerator &)=delete
Disable assignment operator.
virtual double nextValue(double start, double end)=0
Return the next double in the sequence overriding the default range.
virtual double max() const =0
Return the maximum value of the range.
virtual double nextValue()=0
Return the next double in the sequence.
double result_type
Result (output) value type.
virtual void setRange(const double start, const double end)=0
Sets the range of the subsequent calls to nextValue;.
virtual int nextInt(int start, int end)=0
Return the next integer in the sequence.
Helper class which provides the Collimation Length for SANS instruments.