21static const InterfaceID IID_IRndmGamma( 153, 1, 0 );
22static const InterfaceID IID_IRndmGauss( 154, 1, 0 );
23static const InterfaceID IID_IRndmLandau( 155, 1, 0 );
24static const InterfaceID IID_IRndmPoisson( 156, 1, 0 );
25static const InterfaceID IID_IRndmStudentT( 157, 1, 0 );
26static const InterfaceID IID_IRndmBinomial( 158, 1, 0 );
27static const InterfaceID IID_IRndmExponential( 159, 1, 0 );
28static const InterfaceID IID_IRndmBreitWigner( 160, 1, 0 );
29static const InterfaceID IID_IRndmBreitWignerCutOff( 161, 1, 0 );
30static const InterfaceID IID_IRndmDefinedPdf( 162, 1, 0 );
31static const InterfaceID IID_IRndmGaussianTail( 163, 1, 0 );
68 virtual long ID()
const = 0;
72 virtual double shoot()
const = 0;
Definition of the basic interface.
virtual ~Param()=default
Standard Destructor.
virtual Param * clone() const =0
Clone parameters.
Param(const InterfaceID &type=IID_IRndmFlat)
Standard constructor.
virtual const InterfaceID & type() const
Parameter's type.
const InterfaceID m_type
Type of the generator.
Definition of a interface for a generic random number generators.
virtual ~IRndmGen()=default
Virtual destructor.
virtual StatusCode finalize()=0
Finalize the generator.
virtual StatusCode shootArray(std::vector< double > &array, long howmany, long start=0) const =0
Multiple shots returning vector with random number according to specified distribution.
virtual double shoot() const =0
Single shot returning single random number according to specified distribution.
virtual long ID() const =0
Random generator ID.
DeclareInterfaceID(IRndmGen, 2, 0)
InterfaceID.
virtual StatusCode initialize(const IRndmGen::Param &par)=0
Initialize the generator.
virtual const InterfaceID & type() const =0
Random number generator type.
virtual const IRndmGen::Param * parameters() const =0
Access to random number generator parameters.
This class is used for returning status codes from appropriate routines.