| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
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:
[legend]
Collaboration diagram for IRndmGenSvc:
[legend]

## Public Member Functions
| DeclareInterfaceID (IRndmGenSvc, 2, 1)
| InterfaceID. More...
virtual IRndmEngine * | engine ()=0
| Retrieve engine. More...
virtual StatusCode | generator (const IRndmGen::Param &par, IRndmGen *&refpGen)=0
| Add a Generator factory. More...
SmartIF< IRndmGen > | generator (const IRndmGen::Param &par)
virtual | ~IRndmGenSvc ()=default
| virtual destructor More...
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...
virtual | ~IService ()=default
| virtual destructor More...
Public Member Functions inherited from extend_interfaces< INamedInterface, IStateful >
| ~extend_interfaces () override=default
| Virtual destructor. 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.

## Constructor & Destructor Documentation

virtual IRndmGenSvc::~IRndmGenSvc | ( |  | ) |
| virtual default

virtual destructor

## Member Function Documentation

IRndmGenSvc::DeclareInterfaceID | ( | IRndmGenSvc | ,
|  | 2 | ,
|  | 1 |
| ) |  |

InterfaceID.

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

  fac | Pointer to factory to be added

Returns
  StatusCode indicating success or failure.

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

Definition at line 50 of file IRndmGenSvc.h.

50 {
51 IRndmGen *gen = nullptr;;
52 generator(par, gen).ignore();
53 auto r = SmartIF<IRndmGen>{ gen };
54 if (gen) { gen->release(); }
55 return r;
56 }
SmartIF< IRndmGen >
IRndmGen
Definition of a interface for a generic random number generators.
Definition: IRndmGen.h:35
IRndmGenSvc::generator
virtual StatusCode generator(const IRndmGen::Param &par, IRndmGen *&refpGen)=0
Add a Generator factory.
IInterface::release
virtual unsigned long release()=0
Release Interface instance.
StatusCode::ignore
void ignore() const
Definition: StatusCode.h:108

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

- GaudiKernel/GaudiKernel/IRndmGenSvc.h