24 #ifndef MTwistEngine_h
25 #define MTwistEngine_h
27 #include "CLHEP/Random/defs.h"
28 #include "CLHEP/Random/RandomEngine.h"
36 class MTwistEngine :
public HepRandomEngine {
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;
104 #endif // MTwistEngine_h