| # 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
RndmEngine.h
Go to the documentation of this file.
1 //====================================================================
2 // Random Engine definition
3 //--------------------------------------------------------------------
4 //
5 // Package : Gaudi/RndmGenSvc ( The LHCb Offline System)
6 // Author : M.Frank
7 //====================================================================
8 #ifndef GAUDI_RNDMGENSVC_RNDMENGINE_H
9 #define GAUDI_RNDMGENSVC_RNDMENGINE_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/IRndmEngine.h"
18 #include "GaudiKernel/IIncidentListener.h"
19
20 // Forward declarations
21 class IIncidentSvc;
22
46 class RndmEngine: public extends3<Service, IRndmEngine, ISerialize, IIncidentListener>
47 {
48 protected:
50 SmartIF<IIncidentSvc> m_pIncidentSvc;
51
53 RndmEngine(const std::string& name, ISvcLocator* loc);
55 virtual ~RndmEngine();
56 public:
58 virtual StatusCode initialize();
60 virtual StatusCode finalize();
62 virtual double rndm() const;
69 virtual StatusCode rndmArray( std::vector<double>& array, long howmany, long start = 0) const;
74 virtual StreamBuffer& serialize(StreamBuffer& str);
79 virtual StreamBuffer& serialize(StreamBuffer& str) const;
81 virtual void handle(const Incident& inc);
82 };
83
84 #endif // GAUDI_RNDMGENSVC_RNDMENGINE_H