The Gaudi Framework  master (594c33fa)
IRndmGenSvc Class Referenceabstract

#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 45 of file IRndmGenSvc.h.

Member Function Documentation

◆ DeclareInterfaceID()

IRndmGenSvc::DeclareInterfaceID ( IRndmGenSvc  ,
,
 
)

◆ engine()

virtual IRndmEngine* IRndmGenSvc::engine ( )
pure virtual

Retrieve engine.

Returns
pointer to random number engine

◆ generator() [1/2]

SmartIF<IRndmGen> IRndmGenSvc::generator ( const IRndmGen::Param par)
inline

Definition at line 60 of file IRndmGenSvc.h.

60  {
61  IRndmGen* gen = nullptr;
62  ;
63  generator( par, gen ).ignore();
64  auto r = SmartIF<IRndmGen>{ gen };
65  if ( gen ) { gen->release(); }
66  return r;
67  }

◆ generator() [2/2]

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.

The documentation for this class was generated from the following file:
compareOutputFiles.par
par
Definition: compareOutputFiles.py:477
IRndmGenSvc::generator
virtual StatusCode generator(const IRndmGen::Param &par, IRndmGen *&refpGen)=0
Add a Generator factory.
SmartIF< IRndmGen >
StatusCode::ignore
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
Definition: StatusCode.h:139
IRndmGen
Definition: IRndmGen.h:44
IInterface::release
virtual unsigned long release()=0
Release Interface instance.