ThePEG 2.3.0
|
StandardRandom inherits from the RandomGenerator class and is an interface to the CLHEP::JamesRandom engine class. More...
#include <StandardRandom.h>
Clone Methods. | |
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 ClassDescription< StandardRandom > | initStandardRandom |
Describe a concrete class with persistent data. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
StandardRandom & | operator= (const StandardRandom &)=delete |
Private and non-existent assignment operator. | |
Standard constructors and destructors. | |
StandardRandom () | |
Default constructor. | |
virtual void | setSeed (long seed) |
Reset the underlying random algorithm with the given seed. | |
virtual void | fill () |
Fill the cache with random numbers. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
static void | Init () |
Standard Init function used to initialize the interface. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::RandomGenerator | |
typedef vector< double > | RndVector |
A vector of doubles. | |
typedef RndVector::size_type | size_type |
The size_type of RndVector. | |
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 Member Functions inherited from ThePEG::RandomGenerator | |
RandomGenerator () | |
Default constructor. | |
RandomGenerator (const RandomGenerator &) | |
Copy-constructor. | |
virtual | ~RandomGenerator () |
Destructor. | |
double | rnd () |
Return a (possibly cached) flat random number in the interval \(]0,1[\). | |
template<typename Unit > | |
Unit | rnd (Unit b) |
Return a flat random number in the interval \(]0,b[\). | |
template<typename Unit > | |
Unit | rnd (Unit a, Unit b) |
Return a flat random number in the interval \(]a,b[\). | |
RndVector | rndvec (int n) |
Return n flat random number in the interval \(]0,1[\). | |
double | operator() () |
Return a (possibly cached) flat random number in the interval \(]0,1[\). | |
double | operator() (double N) |
Return a (possibly cached) flat integer random number in the interval \([0,N[\). | |
long | operator() (long N) |
Return a (possibly cached) flat integer random number in the interval \([0,N[\). | |
bool | rndbool (double p=0.5) |
Return a true with probability p. | |
bool | prndbool (double p=0.5) |
Return a true with probability p. | |
bool | rndbool (double p1, double p2) |
Return a true with probability p1/(p1+p2). | |
bool | prndbool (double p1, double p2) |
Return a true with probability p1/(p1+p2). | |
int | rndsign (double p1, double p2, double p3) |
Return -1, 0, or 1 with relative probabilities p1, p2, p3. | |
int | prndsign (double p1, double p2, double p3) |
Return -1, 0, or 1 with relative probabilities p1, p2, p3. | |
int | rnd2 (double p0, double p1) |
Return an integer \(i\) with probability p \(i\)/(p0+p1). | |
int | rnd3 (double p0, double p1, double p2) |
Return an integer \(i\) with probability p \(i\)/(p0+p1+p2). | |
int | rnd4 (double p0, double p1, double p2, double p3) |
Return an integer/ \(i\) with probability p \(i\)(p0+p1+p2+p3). | |
int | rnd5 (double p0, double p1, double p2, double p3, double p4) |
Return an integer/ \(i\) with probability p \(i\)(p0+p1+p2+p3+p4). | |
double | rndExp () |
Return a number between zero and infinity, distributed according to \(e^-x\). | |
template<typename Unit > | |
Unit | rndExp (Unit mean) |
Return a number between zero and infinity, distributed according to \(e^-{x/\mu}\) where \(\mu\) 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. | |
double | rndGauss () |
Return a number distributed according to a Gaussian distribution with zero mean and unit variance. | |
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. | |
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. | |
long | rndPoisson (double mean) |
Return a non-negative number generated according to a Poissonian distribution with a given mean. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
gsl_rng * | getGslInterface () |
Return a gsl_rng interface to this random generator. | |
void | push_back (double r) |
Give back a partly unused random number. | |
void | pop_back () |
Discard the next random number in the cache. | |
void | flush () |
Discard all random numbers in the cache. | |
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. | |
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. | |
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. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
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. | |
string | name () const |
Returns the name of this object, without the path. | |
string | path () const |
Returns the path to this object including the trailing '/'. | |
string | comment () const |
Returns a comment assigned to this object. | |
void | setup (istream &is) |
Read setup info from a standard istream is. | |
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). | |
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. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
virtual void | debugme () const |
Print out debugging information for this object on std::cerr. | |
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. | |
virtual void | debugme () const |
Print out debugging information for this object on std::cerr. | |
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 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. | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
The unique ID. | |
Protected Member Functions inherited from ThePEG::RandomGenerator | |
void | setSize (size_type newSize) |
Utility function for the interface. | |
virtual void | doinit () |
Initializes this random generator. | |
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. | |
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 | |
virtual void | readSetup (istream &is) |
Read setup info from a standard istream is. | |
virtual void | doupdate () |
Check sanity of the object during the setup phase. | |
virtual void | doinitrun () |
Initialize this object. | |
virtual void | dofinish () |
Finalize this object. | |
virtual IVector | getReferences () |
Return a vector of all pointers to Interfaced objects used in this object. | |
virtual void | rebind (const TranslationMap &) |
Rebind pointer to other Interfaced objects. | |
InterfacedBase () | |
Protected default constructor. | |
InterfacedBase (string newName) | |
Protected constructor with the name given as argument. | |
InterfacedBase (const InterfacedBase &i) | |
Protected copy-constructor. | |
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. | |
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.
|
inline |
Default constructor.
Definition at line 35 of file StandardRandom.h.
References setSeed(), and ThePEG::RandomGenerator::theSeed.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
protectedvirtual |
Fill the cache with random numbers.
Implements ThePEG::RandomGenerator.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
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. |
void ThePEG::StandardRandom::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
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().
|
private |
Parameter for the internal state.
Definition at line 104 of file StandardRandom.h.
|
private |
Parameter for the internal state.
Definition at line 109 of file StandardRandom.h.
|
private |
Parameter for the internal state.
Definition at line 114 of file StandardRandom.h.
|
private |
Index for the internal state.
Definition at line 119 of file StandardRandom.h.
|
staticprivate |
Describe a concrete class with persistent data.
Definition at line 131 of file StandardRandom.h.
|
private |
Index for the internal state.
Definition at line 124 of file StandardRandom.h.
|
private |
The internal state vector.
Definition at line 99 of file StandardRandom.h.