| # 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
RndmGen.h
Go to the documentation of this file.
1 //====================================================================
2 // Random RndmGen class definition
3 //--------------------------------------------------------------------
4 //
5 // Package : Gaudi/RndmGen ( The LHCb Offline System)
6 // Author : M.Frank
7 //====================================================================
8 #ifndef GAUDI_RANDOMGENSVC_RNDMGEN_H
9 #define GAUDI_RANDOMGENSVC_RNDMGEN_H 1
10
11 // Framework include files
12 #include "GaudiKernel/IRndmGen.h"
13
14 // Forward declarations
15 class IRndmEngine;
16
39 class RndmGen : public implements1<IRndmGen> {
40
41 protected:
43 IRndmGen::Param* m_params;
45 IRndmEngine* m_engine;
46
48 RndmGen(IInterface* engine);
50 virtual ~RndmGen();
51
52 public:
53
55
56 virtual StatusCode initialize(const IRndmGen::Param& par);
58 virtual StatusCode finalize();
60 virtual const InterfaceID& type() const {
61 return (m_params != 0) ? m_params->type() : IID_IRndmFlat;
62 }
64 virtual long ID() const {
65 return long(this);
66 }
68 virtual const IRndmGen::Param* parameters() const {
69 return m_params;
70 }
72 virtual double shoot() const;
78 virtual StatusCode shootArray( std::vector<double>& array, long howmany, long start) const;
79 };
80
81 #endif // GAUDI_RANDOMGENSVC_RNDMGEN_H