38#ifndef HepRandomEngine_h
39#define HepRandomEngine_h 1
47#include "CLHEP/Random/defs.h"
71 virtual void flatArray(
const int size,
double* vect) = 0;
77 virtual void setSeeds(
const long * seeds,
int) = 0;
81 virtual void saveStatus(
const char filename[] =
"Config.conf")
const = 0;
85 virtual void restoreStatus(
const char filename[] =
"Config.conf" ) = 0;
92 virtual std::string
name()
const = 0;
95 virtual std::ostream &
put (std::ostream & os)
const;
96 virtual std::istream &
get (std::istream & is);
100 virtual std::istream &
getState ( std::istream & is );
109 virtual std::vector<unsigned long>
put ()
const;
110 virtual bool get (
const std::vector<unsigned long> & v);
111 virtual bool getState (
const std::vector<unsigned long> & v);
120 virtual operator double();
121 virtual operator float();
122 virtual operator unsigned int();
157 static bool checkFile (std::istream & file,
158 const std::string & filename,
159 const std::string & classname,
160 const std::string & methodname);
167template <
class IS,
class T>
169 std::string firstWord;
171 if (firstWord == key)
return true;
172 std::istringstream reread(firstWord);
179#ifdef ENABLE_BACKWARDS_COMPATIBILITY
181using namespace CLHEP;
184#include "CLHEP/Random/RandomEngine.icc"
static double mantissa_bit_32()
virtual void setSeeds(const long *seeds, int)=0
static double twoToMinus_32()
virtual ~HepRandomEngine()
virtual void restoreStatus(const char filename[]="Config.conf")=0
bool operator!=(const HepRandomEngine &engine)
static double twoToMinus_53()
static double nearlyTwoToMinus_54()
virtual void saveStatus(const char filename[]="Config.conf") const =0
virtual std::istream & getState(std::istream &is)
static double twoToMinus_49()
virtual std::string name() const =0
const long * getSeeds() const
virtual void setSeed(long seed, int)=0
static double twoToMinus_48()
static double mantissa_bit_12()
bool operator==(const HepRandomEngine &engine)
static bool checkFile(std::istream &file, const std::string &filename, const std::string &classname, const std::string &methodname)
virtual void flatArray(const int size, double *vect)=0
virtual std::istream & get(std::istream &is)
static double mantissa_bit_24()
static HepRandomEngine * newEngine(std::istream &is)
static std::string beginTag()
static double exponent_bit_32()
virtual void showStatus() const =0
virtual std::vector< unsigned long > put() const
std::istream & operator>>(std::istream &is, HepRandom &dist)
bool possibleKeywordInput(IS &is, const std::string &key, T &t)
std::ostream & operator<<(std::ostream &s, const HepDiagMatrix &q)