12#include "MantidKernel/DllConfig.h"
45 const std::vector<double> &nextPoint();
60 void cacheGeneratedValue(
const size_t index,
const double value);
62 void cacheNextPoint(
const std::vector<double> &nextPoint);
double value
The value of the point.
std::map< DeltaEMode::Type, std::string > index
This class defines an interface for N dimensional random number generators.
virtual void restart()=0
Restarts the generator from the beginning of the sequence.
NDRandomNumberGenerator(const NDRandomNumberGenerator &)=delete
Disable copy operator.
std::vector< double > & getNextPointCache()
Some generators need direct access to the cache.
const unsigned int m_ndims
The number of dimensions.
NDRandomNumberGenerator & operator=(const NDRandomNumberGenerator &)=delete
Disable assignment operator.
virtual void save()=0
Saves the current state of the generator.
NDRandomNumberGenerator()=delete
Disable default constructor.
virtual void generateNextPoint()=0
Generate the next point. Override this in you concrete implementation.
unsigned int numberOfDimensions() const
Returns the number of dimensions the point will be generated in, i.e.
virtual ~NDRandomNumberGenerator()=default
Virtual destructor to ensure that all inheriting classes have one.
std::vector< double > m_nextPoint
Storage the next point to return.
virtual void restore()=0
Restores the generator to the last saved point, or the beginning if nothing has been saved.
Helper class which provides the Collimation Length for SANS instruments.