Files
geant4/source/externals/clhep/src/RandomEngine.cc
T
2016-06-09 16:46:55 +02:00

108 lines
3.0 KiB
C++

// $Id:$
// -*- C++ -*-
//
// ------------------------------------------------------------------------
// HEP Random
// --- HepRandomEngine ---
// class implementation file
// ------------------------------------------------------------------------
// This file is part of Geant4 (simulation toolkit for HEP).
// ========================================================================
// Gabriele Cosmo - Created: 5th September 1995
// - Minor corrections: 31st October 1996
// - Moved table of seeds to HepRandom: 19th March 1998
// Ken Smith - Added conversion operators: 6th Aug 1998
// =======================================================================
#include "CLHEP/Random/RandomEngine.h"
#include "CLHEP/Random/EngineFactory.h"
//------------------------- HepRandomEngine ------------------------------
namespace CLHEP {
HepRandomEngine::HepRandomEngine()
: theSeed (19780503L)
, theSeeds(&theSeed)
{ }
HepRandomEngine::~HepRandomEngine() {}
HepRandomEngine::operator double() {
return flat();
}
HepRandomEngine::operator float() {
return float( flat() );
}
HepRandomEngine::operator unsigned int() {
return (unsigned int)( flat() * exponent_bit_32() );
}
bool
HepRandomEngine::checkFile (std::istream & file,
const std::string & filename,
const std::string & classname,
const std::string & methodname) {
if (!file) {
std::cerr << "Failure to find or open file " << filename <<
" in " << classname << "::" << methodname << "()\n";
return false;
}
return true;
}
std::ostream & HepRandomEngine::put (std::ostream & os) const {
std::cerr << "HepRandomEngine::put called -- no effect!\n";
return os;
}
std::istream & HepRandomEngine::get (std::istream & is) {
std::cerr << "HepRandomEngine::get called -- no effect!\n";
return is;
}
std::string HepRandomEngine::beginTag ( ) {
return "HepRandomEngine-begin";
}
std::istream & HepRandomEngine::getState ( std::istream & is ) {
std::cerr << "HepRandomEngine::getState called -- no effect!\n";
return is;
}
std::vector<unsigned long> HepRandomEngine::put () const {
std::cerr << "v=HepRandomEngine::put() called -- no data!\n";
std::vector<unsigned long> v;
return v;
}
bool HepRandomEngine::get (const std::vector<unsigned long> & ) {
std::cerr << "HepRandomEngine::get(v) called -- no effect!\n";
return false;
}
bool HepRandomEngine::getState (const std::vector<unsigned long> & ) {
std::cerr << "HepRandomEngine::getState(v) called -- no effect!\n";
return false;
}
HepRandomEngine* HepRandomEngine::newEngine(std::istream& is) {
return EngineFactory::newEngine(is);
}
HepRandomEngine*
HepRandomEngine::newEngine(const std::vector<unsigned long> & v) {
return EngineFactory::newEngine(v);
}
std::ostream & operator<< (std::ostream & os, const HepRandomEngine & e) {
return e.put(os);
}
std::istream & operator>> (std::istream & is, HepRandomEngine & e) {
return e.get(is);
}
} // namespace CLHEP