Go to the documentation of this file.
34 #ifndef RanluxEngine_h
35 #define RanluxEngine_h 1
37 #include "CLHEP/Random/defs.h"
38 #include "CLHEP/Random/RandomEngine.h"
46 class RanluxEngine :
public HepRandomEngine {
75 void setSeed(
long seed,
int lux=3);
82 void saveStatus(
const char filename[] =
"Ranlux.conf" )
const;
95 operator unsigned int();
97 virtual std::ostream &
put (std::ostream & os)
const;
98 virtual std::istream &
get (std::istream &
is);
100 virtual std::istream &
getState ( std::istream &
is );
102 std::string
name()
const;
105 std::vector<unsigned long>
put ()
const;
106 bool get (
const std::vector<unsigned long> &
v);
107 bool getState (
const std::vector<unsigned long> &
v);
114 float float_seed_table[24];
118 static const int int_modulus = 0x1000000;
119 static int numEngines;
125 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
127 using namespace CLHEP;
std::vector< unsigned long > put() const
virtual std::istream & getState(std::istream &is)
static std::string engineName()
void restoreStatus(const char filename[]="Ranlux.conf")
HepRotation and so forth isNear() norm2() rectify() static Rotation row1 row4(To avoid bloat in the code pulled in for programs which don 't use all these features, we split the implementation .cc files. Only isNear() goes into the original Rotation.cc) --------------------------------------- HepAxisAngle and HepEulerAngles classes --------------------------------------- These classes are very useful and simple structures for holding the result of a nice intuituve decomposition of a rotation there is no longer much content in the distinct ZOOM PhysicsVectors library The only content left in the library is the object files representing the various Exception objects When we build the CLHEP classes for the ZOOM we will set up so as to use ZOOM SpaceVector is(but we can disable namespace usage and most of our users do so at this point). What I do is leave Hep3Vector in the global namespace
virtual std::istream & get(std::istream &is)
void setSeeds(const long *seeds, int lux=3)
user code seldom needs to call this function directly ZMerrno whether or not they are still recorded ZMerrno size() Return the(integer) number of ZMthrow 'n exceptions currently recorded. 5) ZMerrno.clear() Set an internal counter to zero. This counter is available(see next function) to user code to track ZMthrow 'n exceptions that have occurred during any arbitrary time interval. 6) ZMerrno.countSinceCleared() Return the(integer) number of ZMthrow 'n exceptions that have been recorded via ZMerrno.write()
they are gone ZOOM Features Discontinued The following features of the ZOOM package were felt to be extreme overkill These have been after checking that no existing user code was utilizing as in SpaceVector v
Technical Maintenance Note for CLHEP Random Consequences of seeding JamesRandom with positive seed values greater than In the source code JamesRandom The usual way of seeding a generator is via the default which makes use of the table of seeds(with some trickery to ensure that the values won 't repeat after the table rows are exhausted). The trickery preserves the fact that sees are never negative(because the table values are never negative
static const unsigned int VECTOR_STATE_SIZE
void flatArray(const int size, double *vect)
void setSeed(long seed, int lux=3)
void saveStatus(const char filename[]="Ranlux.conf") const
static std::string beginTag()