38#ifndef HepRandomEngine_h
39#define HepRandomEngine_h 1
70 virtual void flatArray(
const int size,
double* vect) = 0;
76 virtual void setSeeds(
const long * seeds,
int) = 0;
80 virtual void saveStatus(
const char filename[] =
"Config.conf")
const = 0;
84 virtual void restoreStatus(
const char filename[] =
"Config.conf" ) = 0;
91 virtual std::string
name()
const = 0;
94 virtual std::ostream &
put (std::ostream & os)
const;
95 virtual std::istream &
get (std::istream & is);
99 virtual std::istream &
getState ( std::istream & is );
108 virtual std::vector<unsigned long>
put ()
const;
109 virtual bool get (
const std::vector<unsigned long> & v);
110 virtual bool getState (
const std::vector<unsigned long> & v);
119 virtual operator double();
120 virtual operator float();
121 virtual operator unsigned int();
156 static bool checkFile (std::istream & file,
157 const std::string & filename,
158 const std::string & classname,
159 const std::string & methodname);
166template <
class IS,
class T>
168 std::string firstWord;
170 if (firstWord == key)
return true;
171 std::istringstream reread(firstWord);
178#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 &os, const HepRandom &dist)