Go to the documentation of this file.
41 #include "CLHEP/Random/defs.h"
42 #include "CLHEP/Random/RandomEngine.h"
76 inline double flat (HepRandomEngine* theNewEngine);
79 inline void flatArray(HepRandomEngine* theNewEngine,
80 const int size,
double* vect);
87 virtual std::string
name()
const;
88 virtual HepRandomEngine &
engine();
91 virtual std::ostream &
put ( std::ostream & os )
const;
92 virtual std::istream &
get ( std::istream &
is );
117 static void setTheEngine (HepRandomEngine* theNewEngine);
163 std::ostream &
operator<< (std::ostream & os,
const HepRandom & dist);
164 std::istream &
operator>> (std::istream &
is, HepRandom & dist);
168 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
170 using namespace CLHEP;
173 #include "CLHEP/Random/Random.icc"
static const long seedTable[215][2]
static std::ostream & saveFullState(std::ostream &os)
static int createInstance()
static std::istream & restoreStaticRandomStates(std::istream &is)
static void getTheTableSeeds(long *seeds, int index)
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
static std::istream & restoreFullState(std::istream &is)
static void setTheEngine(HepRandomEngine *theNewEngine)
static void restoreEngineStatus(const char filename[]="Config.conf")
static const long * getTheSeeds()
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()
virtual double operator()()
static HepRandom * getTheGenerator()
virtual HepRandomEngine & engine()
virtual std::string name() const
virtual std::istream & get(std::istream &is)
I could not create a faster method completely accurate that does not require overly large tables and takes a major step up when we cross for several values of but we have applied this with much higher N We validated the main trials It showed no sign of approaching the rejectable p values or errors in mean and sigma the method matches the original algorithm
static void setTheSeeds(const long *seeds, int aux=-1)
std::istream & operator>>(std::istream &is, HepAxisAngle &aa)
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 std::ostream & saveStaticRandomStates(std::ostream &os)
void flatArray(const int size, double *vect)
static void saveEngineStatus(const char filename[]="Config.conf")
static std::istream & restoreDistState(std::istream &is)
static void showEngineStatus()
static std::string distributionName()
static void setTheSeed(long seed, int lux=3)
std::ostream & operator<<(std::ostream &os, const HepAxisAngle &aa)
static HepRandomEngine * getTheEngine()
virtual std::ostream & put(std::ostream &os) const
static std::ostream & saveDistState(std::ostream &os)