37#ifndef HepRandomEngine_h
38#define HepRandomEngine_h 1
69 virtual void flatArray(
const int size,
double* vect) = 0;
75 virtual void setSeeds(
const long * seeds,
int) = 0;
79 virtual void saveStatus(
const char filename[] =
"Config.conf")
const = 0;
83 virtual void restoreStatus(
const char filename[] =
"Config.conf" ) = 0;
90 virtual std::string
name()
const = 0;
93 virtual std::ostream &
put (std::ostream & os)
const;
94 virtual std::istream &
get (std::istream & is);
98 virtual std::istream &
getState ( std::istream & is );
107 virtual std::vector<unsigned long>
put ()
const;
108 virtual bool get (
const std::vector<unsigned long> & v);
109 virtual bool getState (
const std::vector<unsigned long> & v);
118 virtual operator double();
119 virtual operator float();
120 virtual operator unsigned int();
155 static bool checkFile (std::istream & file,
156 const std::string & filename,
157 const std::string & classname,
158 const std::string & methodname);
165template <
class IS,
class T>
167 std::string firstWord;
169 if (firstWord == key)
return true;
170 std::istringstream reread(firstWord);
177#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)