32static HepRandomEngine*
33makeAnEngine (
const std::string &
tag,
35 if (
tag != E::beginTag() )
return 0;
36 HepRandomEngine* eptr =
new E;
43static HepRandomEngine*
44makeAnEngine (
const std::vector<unsigned long> & v) {
45 if ( (v[0] & 0xffffffffUL) != engineIDulong<E>() )
return 0;
46 HepRandomEngine* eptr =
new E;
48 if (!success)
return 0;
57 eptr = makeAnEngine <HepJamesRandom> (
tag, is);
if (eptr)
return eptr;
58 eptr = makeAnEngine <RanecuEngine> (
tag, is);
if (eptr)
return eptr;
59 eptr = makeAnEngine <Ranlux64Engine> (
tag, is);
if (eptr)
return eptr;
60 eptr = makeAnEngine <RanluxppEngine> (
tag, is);
if (eptr)
return eptr;
61 eptr = makeAnEngine <MixMaxRng> (
tag, is);
if (eptr)
return eptr;
62 eptr = makeAnEngine <MTwistEngine> (
tag, is);
if (eptr)
return eptr;
63 eptr = makeAnEngine <DualRand> (
tag, is);
if (eptr)
return eptr;
64 eptr = makeAnEngine <RanluxEngine> (
tag, is);
if (eptr)
return eptr;
65 eptr = makeAnEngine <RanshiEngine> (
tag, is);
if (eptr)
return eptr;
66 eptr = makeAnEngine <NonRandomEngine> (
tag, is);
if (eptr)
return eptr;
67 is.clear(std::ios::badbit | is.rdstate());
69 "Input mispositioned or bad in reading anonymous engine\n"
70 <<
"\nBegin-tag read was: " <<
tag
71 <<
"\nInput stream is probably fouled up\n";
78 eptr = makeAnEngine <HepJamesRandom> (v);
if (eptr)
return eptr;
79 eptr = makeAnEngine <RanecuEngine> (v);
if (eptr)
return eptr;
80 eptr = makeAnEngine <Ranlux64Engine> (v);
if (eptr)
return eptr;
81 eptr = makeAnEngine <RanluxppEngine> (v);
if (eptr)
return eptr;
82 eptr = makeAnEngine <MixMaxRng> (v);
if (eptr)
return eptr;
83 eptr = makeAnEngine <MTwistEngine> (v);
if (eptr)
return eptr;
84 eptr = makeAnEngine <DualRand> (v);
if (eptr)
return eptr;
85 eptr = makeAnEngine <RanluxEngine> (v);
if (eptr)
return eptr;
86 eptr = makeAnEngine <RanshiEngine> (v);
if (eptr)
return eptr;
87 eptr = makeAnEngine <NonRandomEngine> (v);
if (eptr)
return eptr;
89 "Cannot correctly get anonymous engine from vector\n"
90 <<
"First unsigned long was: " << v[0]
91 <<
" Vector size was: " << v.size() <<
"\n";
static HepRandomEngine * newEngine(std::istream &is)
virtual std::istream & getState(std::istream &is)