36 #ifndef RanecuEngine_h
37 #define RanecuEngine_h 1
39 #include "CLHEP/Random/defs.h"
40 #include "CLHEP/Random/RandomEngine.h"
48 class RanecuEngine :
public HepRandomEngine {
73 void setSeeds (
const long* seeds,
int index=-1);
78 void saveStatus(
const char filename[] =
"Ranecu.conf" )
const;
88 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);
113 static const int shift1 = 2147483563;
114 static const int shift2 = 2147483399;
121 void further_randomize (
int seq,
int col,
int index,
int modulus);
125 static const int maxSeq = 215;
128 static int numEngines;
134 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
136 using namespace CLHEP;
void restoreStatus(const char filename[]="Ranecu.conf")
virtual std::istream & getState(std::istream &is)
static const int ecuyer_e
void saveStatus(const char filename[]="Ranecu.conf") const
static const int ecuyer_f
virtual std::istream & get(std::istream &is)
static std::string engineName()
void setSeed(long index, int dum=0)
static const int ecuyer_b
virtual std::ostream & put(std::ostream &os) const
void flatArray(const int size, double *vect)
void setIndex(long index)
bool getState(const std::vector< unsigned long > &v)
RanecuEngine(std::istream &is)
std::vector< unsigned long > put() const
static const int ecuyer_c
static const int ecuyer_a
static const int ecuyer_d
void setSeeds(const long *seeds, int index=-1)
bool get(const std::vector< unsigned long > &v)
static std::string beginTag()
static const unsigned int VECTOR_STATE_SIZE