38 #ifndef HepRandomEngine_h
39 #define HepRandomEngine_h 1
66 virtual double flat() = 0;
70 virtual void flatArray(
const int size,
double* vect) = 0;
73 virtual void setSeed(
long seed,
int) = 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();
157 const std::string & filename,
158 const std::string & classname,
159 const std::string & methodname);
166 template <
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 nearlyTwoToMinus_54()
virtual void showStatus() const =0
virtual std::vector< unsigned long > put() const
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
static double twoToMinus_48()
static double twoToMinus_32()
virtual std::string name() const =0
virtual ~HepRandomEngine()
static bool checkFile(std::istream &file, const std::string &filename, const std::string &classname, const std::string &methodname)
bool operator==(const HepRandomEngine &engine)
const long * getSeeds() const
static double exponent_bit_32()
static std::string beginTag()
std::ostream & operator<<(std::ostream &os, const HepRandom &dist)
static double mantissa_bit_24()
bool possibleKeywordInput(IS &is, const std::string &key, T &t)
virtual void restoreStatus(const char filename[]="Config.conf")=0
virtual void setSeed(long seed, int)=0
static double mantissa_bit_12()
virtual std::istream & getState(std::istream &is)
static double twoToMinus_53()
virtual void setSeeds(const long *seeds, int)=0
static double mantissa_bit_32()
virtual void saveStatus(const char filename[]="Config.conf") const =0
std::istream & operator>>(std::istream &is, HepRandom &dist)
bool operator!=(const HepRandomEngine &engine)
static double twoToMinus_49()
virtual void flatArray(const int size, double *vect)=0
static HepRandomEngine * newEngine(std::istream &is)