24 #ifndef MTwistEngine_h
25 #define MTwistEngine_h
27 #include "CLHEP/Random/defs.h"
28 #include "CLHEP/Random/RandomEngine.h"
50 void flatArray(
const int size,
double* vect);
56 void setSeeds(
const long * seeds,
int);
60 void saveStatus(
const char filename[] =
"MTwist.conf")
const;
70 operator unsigned int();
72 virtual std::ostream &
put (std::ostream & os)
const;
73 virtual std::istream &
get (std::istream & is);
75 virtual std::istream &
getState ( std::istream & is );
77 std::string
name()
const;
80 std::vector<unsigned long>
put ()
const;
81 bool get (
const std::vector<unsigned long> & v);
82 bool getState (
const std::vector<unsigned long> & v);
91 enum{ NminusM = 227, M = 397, N = 624};
92 static int numEngines;
99 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
101 using namespace CLHEP;
virtual std::istream & get(std::istream &is)
virtual std::istream & getState(std::istream &is)
void flatArray(const int size, double *vect)
void restoreStatus(const char filename[]="MTwist.conf")
static std::string engineName()
void setSeeds(const long *seeds, int)
void saveStatus(const char filename[]="MTwist.conf") const
std::vector< unsigned long > put() const
static const unsigned int VECTOR_STATE_SIZE
void setSeed(long seed, int)
static std::string beginTag()