The Gaudi Framework
v30r3 (a5ef0a68)
|
Generate a random number Generator following generally distributed random values, given a user-defined probability distribution function. More...
#include <GaudiKernel/RndmGenerators.h>
Public Member Functions | |
DefinedPdf (const std::vector< double > &pdf, long intpol) | |
Standard Constructor. More... | |
std::vector< double > & | pdf () |
Access pdf. More... | |
long | interpolation () const |
Access interpolation type. More... | |
DefinedPdf * | clone () const override |
Clone parameters. More... | |
Public Member Functions inherited from IRndmGen::Param | |
Param (const InterfaceID &type=IID_IRndmFlat) | |
Standard constructor. More... | |
virtual | ~Param ()=default |
Standard Destructor. More... | |
virtual const InterfaceID & | type () const |
Parameter's type. More... | |
Static Public Member Functions | |
static const InterfaceID & | typeID () |
Identifier for factory. More... | |
Protected Attributes | |
std::vector< double > | m_pdf |
Vector containing probability distribution function. More... | |
long | m_interpolation |
Interpolation type. More... | |
Protected Attributes inherited from IRndmGen::Param | |
const InterfaceID | m_type |
Type of the generator. More... | |
Generate a random number Generator following generally distributed random values, given a user-defined probability distribution function.
The probability distribution function (Pdf) must be provided by the user as an array of positive real number. The array size must also be provided. The Pdf doesn't need to be normalized to 1. if IntType = 0 ( default value ) a uniform random number is generated. The uniform number is then transformed to the user's distribution using the cumulative probability distribution constructed from his histogram. The cumulative distribution is inverted using a binary search for the nearest bin boundary and a linear interpolation within the bin. Therefore a constant density within each bin is generated. if IntType = 1 no interpolation is performed and the result is a discrete distribution.
Definition at line 306 of file RndmGenerators.h.
|
inline |
Standard Constructor.
Definition at line 316 of file RndmGenerators.h.
|
inlineoverridevirtual |
Clone parameters.
Implements IRndmGen::Param.
Definition at line 327 of file RndmGenerators.h.
|
inline |
Access interpolation type.
Definition at line 323 of file RndmGenerators.h.
|
inline |
Access pdf.
Definition at line 321 of file RndmGenerators.h.
|
inlinestatic |
Identifier for factory.
Definition at line 325 of file RndmGenerators.h.
|
protected |
Interpolation type.
Definition at line 312 of file RndmGenerators.h.
|
protected |
Vector containing probability distribution function.
Definition at line 310 of file RndmGenerators.h.