| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RndmGenSvc.h
Go to the documentation of this file.
1 //====================================================================
2 // Random Generator service definition
3 //--------------------------------------------------------------------
4 //
5 // Package : Gaudi/RndmGen ( The LHCb Offline System)
6 // Author : M.Frank
7 //====================================================================
8 #ifndef GAUDI_RANDOMGENSVC_RNDMGENSVC_H
9 #define GAUDI_RANDOMGENSVC_RNDMGENSVC_H 1
10
11 // STL include files
12 #include <vector>
13
14 // Framework include files
15 #include "GaudiKernel/Service.h"
16 #include "GaudiKernel/ISerialize.h"
17 #include "GaudiKernel/IRndmGen.h"
18 #include "GaudiKernel/IRndmEngine.h"
19 #include "GaudiKernel/IRndmGenSvc.h"
20
21 // Forward declarations
22 class IRndmGenFactory;
23 class IMessageSvc;
24
49 class RndmGenSvc : public extends3<Service, IRndmGenSvc, IRndmEngine, ISerialize> {
50 private:
52 mutable IRndmEngine* m_engine;
54 mutable ISerialize* m_serialize;
56 std::string m_engineName;
57 public:
59 RndmGenSvc(const std::string& name, ISvcLocator* svc);
61 virtual ~RndmGenSvc();
62 public:
64 virtual StatusCode initialize();
66 virtual StatusCode finalize();
68
69 virtual StreamBuffer& serialize(StreamBuffer& str);
71 virtual StreamBuffer& serialize(StreamBuffer& str) const;
73 virtual IRndmEngine* engine();
75 virtual StatusCode generator(const IRndmGen::Param& par, IRndmGen*& refpGen);
77 virtual double rndm() const;
84 virtual StatusCode rndmArray( std::vector<double>& array, long howmany, long start = 0) const;
86 virtual StatusCode setSeeds(const std::vector<long>& seeds);
88 virtual StatusCode seeds(std::vector<long>& seeds) const;
89 };
90
91 #endif // GAUDI_RANDOMGENSVC_RNDMGENSVC_H