The Gaudi Framework  v29r0 (ff2e7097)
IRndmEngine Class Referenceabstract

Definition of a interface for a generic random number generator giving randomly distributed numbers in the range [0...1] number generators. More...

#include <GaudiKernel/IRndmEngine.h>

Inheritance diagram for IRndmEngine:
Collaboration diagram for IRndmEngine:

Public Member Functions

 DeclareInterfaceID (IRndmEngine, 2, 0)
 InterfaceID. More...
 
virtual double rndm () const =0
 Single shot returning single random number. More...
 
virtual StatusCode rndmArray (std::vector< double > &array, long howmany, long start=0) const =0
 Multiple shots returning vector with flat random numbers. More...
 
virtual StatusCode setSeeds (const std::vector< long > &seeds)=0
 Allow to set new seeds. More...
 
virtual StatusCode seeds (std::vector< long > &seeds) const =0
 Allow to retrieve seeds. More...
 
- Public Member Functions inherited from IInterface
virtual void * i_cast (const InterfaceID &) const =0
 main cast function More...
 
virtual std::vector< std::stringgetInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces. More...
 
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual unsigned long refCount () const =0
 Current reference count. More...
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance. More...
 
virtual ~IInterface ()=default
 Virtual destructor. More...
 

Additional Inherited Members

- Public Types inherited from IInterface
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...
 
using iid = Gaudi::InterfaceId< IInterface, 0, 0 >
 Interface ID. More...
 
using ext_iids = Gaudi::interface_list< iid >
 Extra interfaces. More...
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

Detailed Description

Definition of a interface for a generic random number generator giving randomly distributed numbers in the range [0...1] number generators.

Author
M.Frank
Version
1.0

Definition at line 19 of file IRndmEngine.h.

Member Function Documentation

IRndmEngine::DeclareInterfaceID ( IRndmEngine  ,
,
 
)
virtual double IRndmEngine::rndm ( ) const
pure virtual

Single shot returning single random number.

virtual StatusCode IRndmEngine::rndmArray ( std::vector< double > &  array,
long  howmany,
long  start = 0 
) const
pure virtual

Multiple shots returning vector with flat random numbers.

Parameters
arrayArray containing random numbers
howmanyfill 'howmany' random numbers into array
start... starting at position start
Returns
StatusCode indicating failure or success.
virtual StatusCode IRndmEngine::seeds ( std::vector< long > &  seeds) const
pure virtual

Allow to retrieve seeds.

virtual StatusCode IRndmEngine::setSeeds ( const std::vector< long > &  seeds)
pure virtual

Allow to set new seeds.


The documentation for this class was generated from the following file: