| The Gaudi Framework v27r1

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

- File List
- File Members

IRndmGenSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IRNDMGENSVC_H
2 #define GAUDIKERNEL_IRNDMGENSVC_H
3
4 // STL include files
5 #include <string>
6 #include <vector>
7
8 // Framework include files
9 #include "GaudiKernel/IService.h"
10 #include "GaudiKernel/IRndmGen.h"
11 #include "GaudiKernel/SmartIF.h"
12
13 // Forward declarations
14 class IRndmGen;
15 class StreamBuffer;
16 class IRndmEngine;
17 class IRndmGenFactory;
18
35 class GAUDI_API IRndmGenSvc: virtual public IService {
36 public:
38 DeclareInterfaceID(IRndmGenSvc,2,1);
42 virtual IRndmEngine* engine() = 0;
43
48 virtual StatusCode generator(const IRndmGen::Param& par, IRndmGen*& refpGen) = 0;
49
50 SmartIF<IRndmGen> generator(const IRndmGen::Param& par) {
51 IRndmGen *gen = nullptr;;
52 generator(par, gen).ignore();
53 auto r = SmartIF<IRndmGen>{ gen };
54 if (gen) { gen->release(); }
55 return r;
56 }
57
59 virtual ~IRndmGenSvc() = default;
60 };
61
62 #endif // GAUDIKERNEL_IRNDMGENSVC_H
SmartIF< IRndmGen >
StreamBuffer
The stream buffer is a small object collecting object data.
Definition: StreamBuffer.h:41
IRndmGen
Definition of a interface for a generic random number generators.
Definition: IRndmGen.h:35
IRndmGen.h
IRndmGenSvc::generator
SmartIF< IRndmGen > generator(const IRndmGen::Param &par)
Definition: IRndmGenSvc.h:50
compareOutputFiles.par
string par
Definition: compareOutputFiles.py:386
IRndmGenSvc
Random Generator service interface definition Definition of a interface for a service to access rando...
Definition: IRndmGenSvc.h:35
IService
General service interface definition.
Definition: IService.h:18
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
IRndmGen::Param
Definition: IRndmGen.h:40
SmartIF.h
IService.h
IInterface::release
virtual unsigned long release()=0
Release Interface instance.
IRndmEngine
Definition of a interface for a generic random number generator giving randomly distributed numbers i...
Definition: IRndmEngine.h:19
IService::DeclareInterfaceID
DeclareInterfaceID(IService, 4, 0)
InterfaceID.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107