42#include "CLHEP/Random/defs.h"
43#include "CLHEP/Random/RandomEngine.h"
51class DualRand:
public HepRandomEngine {
79 void saveStatus(
const char filename[] =
"DualRand.conf")
const;
89 operator unsigned int();
91 virtual std::ostream &
put (std::ostream & os)
const;
92 virtual std::istream &
get (std::istream & is);
94 virtual std::istream &
getState ( std::istream & is );
99 std::vector<unsigned long>
put ()
const;
100 bool get (
const std::vector<unsigned long> & v);
101 bool getState (
const std::vector<unsigned long> & v);
107 static int numEngines;
114 Tausworthe(
unsigned int seed);
115 operator unsigned int();
116 void put(std::ostream & os)
const;
117 void put(std::vector<unsigned long> & v)
const;
118 void get(std::istream & is);
119 bool get(std::vector<unsigned long>::const_iterator & iv);
122 unsigned int words[4];
128 IntegerCong(
unsigned int seed,
int streamNumber);
129 operator unsigned int();
130 void put(std::ostream & os)
const;
131 void put(std::vector<unsigned long> & v)
const;
132 void get(std::istream & is);
133 bool get(std::vector<unsigned long>::const_iterator & iv);
135 unsigned int state, multiplier, addend;
138 Tausworthe tausworthe;
139 IntegerCong integerCong;
145#ifdef ENABLE_BACKWARDS_COMPATIBILITY
147using namespace CLHEP;
virtual std::ostream & put(std::ostream &os) const
void setSeeds(const long *seeds, int)
DualRand(int rowIndex, int colIndex)
bool getState(const std::vector< unsigned long > &v)
std::vector< unsigned long > put() const
virtual std::istream & get(std::istream &is)
static std::string beginTag()
void restoreStatus(const char filename[]="DualRand.conf")
virtual std::istream & getState(std::istream &is)
void setSeed(long seed, int)
void saveStatus(const char filename[]="DualRand.conf") const
void flatArray(const int size, double *vect)
DualRand(std::istream &is)
static const unsigned int VECTOR_STATE_SIZE
static std::string engineName()
bool get(const std::vector< unsigned long > &v)