ThePEG
2.2.1
|
StandardRandom inherits from the RandomGenerator class and is an interface to the CLHEP::JamesRandom engine class. More...
#include <StandardRandom.h>
Public Member Functions | |
virtual void | setSeed (long seed) |
Reset the underlying random algorithm with the given seed. More... | |
Standard constructors and destructors. | |
StandardRandom () | |
Default constructor. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Public Member Functions inherited from ThePEG::RandomGenerator | |
gsl_rng * | getGslInterface () |
Return a gsl_rng interface to this random generator. | |
RandomGenerator () | |
Default constructor. | |
RandomGenerator (const RandomGenerator &) | |
Copy-constructor. | |
virtual | ~RandomGenerator () |
Destructor. | |
double | rnd () |
Return a (possibly cached) flat random number in the interval . | |
template<typename Unit > | |
Unit | rnd (Unit b) |
Return a flat random number in the interval . | |
template<typename Unit > | |
Unit | rnd (Unit a, Unit b) |
Return a flat random number in the interval . | |
RndVector | rndvec (int n) |
Return n flat random number in the interval . | |
double | operator() () |
Return a (possibly cached) flat random number in the interval . | |
double | operator() (double N) |
Return a (possibly cached) flat integer random number in the interval . More... | |
long | operator() (long N) |
Return a (possibly cached) flat integer random number in the interval . | |
bool | rndbool (double p=0.5) |
Return a true with probability p. More... | |
bool | prndbool (double p=0.5) |
Return a true with probability p. More... | |
bool | rndbool (double p1, double p2) |
Return a true with probability p1/(p1+p2). More... | |
bool | prndbool (double p1, double p2) |
Return a true with probability p1/(p1+p2). More... | |
int | rndsign (double p1, double p2, double p3) |
Return -1, 0, or 1 with relative probabilities p1, p2, p3. More... | |
int | prndsign (double p1, double p2, double p3) |
Return -1, 0, or 1 with relative probabilities p1, p2, p3. More... | |
int | rnd2 (double p0, double p1) |
Return an integer with probability p /(p0+p1). More... | |
int | rnd3 (double p0, double p1, double p2) |
Return an integer with probability p /(p0+p1+p2). More... | |
int | rnd4 (double p0, double p1, double p2, double p3) |
Return an integer/ with probability p (p0+p1+p2+p3). More... | |
int | rnd5 (double p0, double p1, double p2, double p3, double p4) |
Return an integer/ with probability p (p0+p1+p2+p3+p4). More... | |
double | rndExp () |
Return a number between zero and infinity, distributed according to . | |
template<typename Unit > | |
Unit | rndExp (Unit mean) |
Return a number between zero and infinity, distributed according to where is the mean value. | |
void | rndGaussTwoNumbers (double &randomNumberOne, double &randomNumberTwo) |
Return two numbers distributed according to a Gaussian distribution with zero mean and unit variance. More... | |
double | rndGauss () |
Return a number distributed according to a Gaussian distribution with zero mean and unit variance. More... | |
template<typename Unit > | |
Unit | rndGauss (Unit sigma, Unit mean=Unit()) |
Return a number distributed according to a Gaussian distribution with a given standard deviation, sigma, and a given mean. | |
template<typename Unit > | |
void | rndGaussTwoNumbers (Unit &randomNumberOne, Unit &randomNumberTwo, Unit sigma, Unit mean=Unit()) |
Return two numbers distributed according to a Gaussian distribution with a given standard deviation, sigma, and a given mean. | |
template<typename Unit > | |
Unit | rndBW (Unit mean, Unit gamma) |
Return a positive number distributed according to a non-relativistic Breit-Wigner with a given width, gamma, and a given mean. | |
template<typename Unit > | |
Unit | rndBW (Unit mean, Unit gamma, Unit cut) |
Return a positive number distributed according to a non-relativistic Breit-Wigner with a given width, gamma, and a given mean. More... | |
template<typename Unit > | |
Unit | rndRelBW (Unit mean, Unit gamma) |
Return a positive number distributed according to a relativistic Breit-Wigner with a given width, gamma, and a given mean. | |
template<typename Unit > | |
Unit | rndRelBW (Unit mean, Unit gamma, Unit cut) |
Return a positive number distributed according to a relativistic Breit-Wigner with a given width, gamma, and a given mean. More... | |
long | rndPoisson (double mean) |
Return a non-negative number generated according to a Poissonian distribution with a given mean. More... | |
void | push_back (double r) |
Give back a partly unused random number. More... | |
void | pop_back () |
Discard the next random number in the cache. | |
void | flush () |
Discard all random numbers in the cache. More... | |
template<typename OutputIterator > | |
void | rnd (OutputIterator o, size_type n) |
Generate n random numbers between 0 and 1 and put them in the output iterator. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual | ~Interfaced () |
Empty virtual destructor. | |
virtual bool | defaultInit () |
Functions which are to be used during the actual event generation, after the setup is complete. More... | |
PPtr | getParticle (PID) const |
Create a new Particle instance given a id number. | |
PDPtr | getParticleData (PID) const |
Return a pointer to the ParticleData object corresponding to the given id number. | |
bool | used () const |
Returns true if this object has actally been used. | |
void | useMe () const |
Should be called to indicate that this object has actually been used. | |
tEGPtr | generator () const |
Return a pointer to the EventGenerator controlling the run. More... | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Public Member Functions inherited from ThePEG::InterfacedBase | |
virtual | ~InterfacedBase () |
The virtual (empty) destructor;. | |
string | fullName () const |
Returns the full name of this object including its path, e.g. More... | |
string | name () const |
Returns the name of this object, without the path. | |
string | path () const |
Returns the path to this object including the trailing '/'. More... | |
string | comment () const |
Returns a comment assigned to this object. | |
void | setup (istream &is) |
Read setup info from a standard istream is. More... | |
virtual void | debugme () const |
Print out debugging information for this object on std::cerr. More... | |
void | update () |
Calls the doupdate() function with recursion prevention. | |
void | init () |
Calls the doinit() function with recursion prevention. | |
virtual bool | preInitialize () const |
Return true if this object needs to be initialized before all other objects (except those for which this function also returns true). More... | |
void | initrun () |
Calls the doinitrun() function with recursion prevention. | |
void | finish () |
Calls the dofinish() function with recursion prevention. | |
void | touch () |
This function should be called every time something in this object has changed in a way that a sanity check with update() is needed. | |
void | reset () |
Set the state of this object to uninitialized. | |
void | clear () |
Calls reset() and unTouch(). | |
InitState | state () const |
Return the state of initialization of this object. | |
bool | locked () const |
Return true if the BaseRepository is not allowed to change the state of this object. | |
bool | touched () const |
Return true if the state of this object has been changed since the last call to update(). | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Public Member Functions inherited from ThePEG::Base | |
virtual | ~Base () |
The virtual destructor. | |
void | debug () const |
Print out debugging information for this object on std::cerr. More... | |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Return the reference count. | |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Constructor with name. | |
Named (const Named &)=default | |
Explicit default copy-constructor (too avoid compiler warnings) | |
const string & | name () const |
Return name. | |
bool | operator== (const Named &other) const |
Test for equality. | |
bool | operator< (const Named &other) const |
Lexicographical comparison. | |
Static Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interface. | |
Static Public Member Functions inherited from ThePEG::RandomGenerator | |
static void | Init () |
Standard Init function used to initialize the interface. | |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Standard Init function. | |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Standard Init function. | |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
The standard Init function used to initialize the interfaces. More... | |
Protected Member Functions | |
virtual void | fill () |
Fill the cache with random numbers. | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. More... | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. More... | |
Protected Member Functions inherited from ThePEG::RandomGenerator | |
virtual void | doinit () |
Initializes this random generator. More... | |
void | setSize (size_type newSize) |
Utility function for the interface. | |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
Register the given object in the Repository with the given name in a subdirectory with the same name as this object. More... | |
template<typename PtrT > | |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
If the pointer, ptr, to an object is not set, create an object of class classname and register it with the Repository with the given objectname in a sib-directory with the same name as this object. | |
Interfaced () | |
Protected default constructor. | |
Interfaced (const string &newName) | |
Protected constructor taking a name as argument. | |
Interfaced (const Interfaced &i) | |
Protected copy-constructor. | |
void | setGenerator (tEGPtr generator) |
Protected function to reset the generator pointer, required for automatic decayer generation in Herwig++ BSM models. | |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
InterfacedBase () | |
Protected default constructor. | |
InterfacedBase (string newName) | |
Protected constructor with the name given as argument. | |
InterfacedBase (const InterfacedBase &i) | |
Protected copy-constructor. | |
virtual void | readSetup (istream &is) |
Read setup info from a standard istream is. More... | |
virtual void | doupdate () |
Check sanity of the object during the setup phase. More... | |
virtual void | doinitrun () |
Initialize this object. More... | |
virtual void | dofinish () |
Finalize this object. More... | |
virtual IVector | getReferences () |
Return a vector of all pointers to Interfaced objects used in this object. More... | |
virtual void | rebind (const TranslationMap &) |
Rebind pointer to other Interfaced objects. More... | |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted () | |
Default constructor. | |
ReferenceCounted (const ReferenceCounted &) | |
Copy-constructor. | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. | |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
Assignment. | |
const string & | name (const string &newName) |
Set new name. | |
Private Member Functions | |
StandardRandom & | operator= (const StandardRandom &)=delete |
Private and non-existent assignment operator. | |
Private Attributes | |
array< double, 97 > | u |
The internal state vector. | |
double | c |
Parameter for the internal state. | |
double | cd |
Parameter for the internal state. | |
double | cm |
Parameter for the internal state. | |
int | i97 |
Index for the internal state. | |
int | j97 |
Index for the internal state. | |
Static Private Attributes | |
static ClassDescription< StandardRandom > | initStandardRandom |
Describe a concrete class with persistent data. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::RandomGenerator | |
typedef vector< double > | RndVector |
A vector of doubles. More... | |
typedef RndVector::size_type | size_type |
The size_type of RndVector. More... | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState { initializing = -1, uninitialized = 0, initialized = 1, runready = 2 } |
Enumeration reflecting the state of an InterfacedBase object. More... | |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
The integer type used for counting. | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
The unique ID. More... | |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
Register an Interfaced object with the Repository. | |
static void | registerRepository (IBPtr, string newName) |
Register an Interfaced object with the Repository, giving it a name. | |
Protected Attributes inherited from ThePEG::RandomGenerator | |
RndVector | theNumbers |
A vector of cached numbers. | |
RndVector::iterator | nextNumber |
Iterator pointing to the next number to be extracted. | |
size_type | theSize |
The size of the cache. | |
long | theSeed |
The seed to initialize the random generator with. | |
double | savedGauss |
A saved Gaussian random number. | |
bool | gaussSaved |
Indicate the precense of a saved Gaussian random number. | |
gsl_rng * | gsl |
A pinter to a gsl_rng interface to this generator. | |
StandardRandom inherits from the RandomGenerator class and is an interface to the CLHEP::JamesRandom engine class.
Definition at line 26 of file StandardRandom.h.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Referenced by StandardRandom().
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Referenced by StandardRandom().
void ThePEG::StandardRandom::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
Referenced by StandardRandom().
void ThePEG::StandardRandom::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Referenced by StandardRandom().
|
virtual |
Reset the underlying random algorithm with the given seed.
If the seed is set to -1 a standard seed will be used.
Implements ThePEG::RandomGenerator.
Referenced by StandardRandom().