The Gaudi Framework  v30r3 (a5ef0a68)
IRndmGenSvc Class Referenceabstract

Random Generator service interface definition Definition of a interface for a service to access random generators according to predefined distributions: More...

#include <GaudiKernel/IRndmGenSvc.h>

Inheritance diagram for IRndmGenSvc:
Collaboration diagram for IRndmGenSvc:

Public Member Functions

 DeclareInterfaceID (IRndmGenSvc, 2, 1)
 InterfaceID. More...
 
virtual IRndmEngineengine ()=0
 Retrieve engine. More...
 
virtual StatusCode generator (const IRndmGen::Param &par, IRndmGen *&refpGen)=0
 Add a Generator factory. More...
 
SmartIF< IRndmGengenerator (const IRndmGen::Param &par)
 
- Public Member Functions inherited from IService
 DeclareInterfaceID (IService, 4, 0)
 InterfaceID. More...
 
virtual StatusCode sysInitialize ()=0
 Initialize Service. More...
 
virtual StatusCode sysStart ()=0
 Start Service. More...
 
virtual StatusCode sysStop ()=0
 Stop Service. More...
 
virtual StatusCode sysFinalize ()=0
 Finalize Service. More...
 
virtual StatusCode sysReinitialize ()=0
 Re-initialize the Service. More...
 
virtual StatusCode sysRestart ()=0
 Re-start the Service. More...
 

Additional Inherited Members

- Public Types inherited from extend_interfaces< INamedInterface, IStateful >
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
 take union of the ext_iids of all Interfaces... More...
 
- Protected Member Functions inherited from IService
virtual void setServiceManager (ISvcManager *)=0
 

Detailed Description

Random Generator service interface definition Definition of a interface for a service to access random generators according to predefined distributions:

The Random Generator creates proper instances of requested random generators and delivers them to the user.

On request the service dumps the type and state of the random number engine to a StreamBuffer object allowing to save and to restore the exact state of the random number generator.

Author
M.Frank
Version
1.0

Definition at line 35 of file IRndmGenSvc.h.

Member Function Documentation

IRndmGenSvc::DeclareInterfaceID ( IRndmGenSvc  ,
,
 
)
virtual IRndmEngine* IRndmGenSvc::engine ( )
pure virtual

Retrieve engine.

Returns
pointer to random number engine
virtual StatusCode IRndmGenSvc::generator ( const IRndmGen::Param par,
IRndmGen *&  refpGen 
)
pure virtual

Add a Generator factory.

Parameters
facPointer to factory to be added
Returns
StatusCode indicating success or failure.
SmartIF<IRndmGen> IRndmGenSvc::generator ( const IRndmGen::Param par)
inline

Definition at line 51 of file IRndmGenSvc.h.

52  {
53  IRndmGen* gen = nullptr;
54  ;
55  generator( par, gen ).ignore();
56  auto r = SmartIF<IRndmGen>{gen};
57  if ( gen ) {
58  gen->release();
59  }
60  return r;
61  }
Definition of a interface for a generic random number generators.
Definition: IRndmGen.h:34
virtual StatusCode generator(const IRndmGen::Param &par, IRndmGen *&refpGen)=0
Add a Generator factory.
virtual unsigned long release()=0
Release Interface instance.
const StatusCode & ignore() const
Ignore/check StatusCode.
Definition: StatusCode.h:165

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