|
Gaudi Framework, version v23r2 |
| Home | Generated: Thu Jun 28 2012 |
00001 //==================================================================== 00002 // Random Engine definition 00003 //-------------------------------------------------------------------- 00004 // 00005 // Package : Gaudi/RndmGenSvc ( The LHCb Offline System) 00006 // Author : M.Frank 00007 //==================================================================== 00008 #ifndef GAUDI_RNDMGENSVC_RNDMENGINE_H 00009 #define GAUDI_RNDMGENSVC_RNDMENGINE_H 1 00010 00011 // STL include files 00012 #include <vector> 00013 00014 // Framework include files 00015 #include "GaudiKernel/Service.h" 00016 #include "GaudiKernel/ISerialize.h" 00017 #include "GaudiKernel/IRndmEngine.h" 00018 #include "GaudiKernel/IIncidentListener.h" 00019 00020 // Forward declarations 00021 class IIncidentSvc; 00022 00046 class RndmEngine: public extends3<Service, IRndmEngine, ISerialize, IIncidentListener> 00047 { 00048 protected: 00050 SmartIF<IIncidentSvc> m_pIncidentSvc; 00051 00053 RndmEngine(const std::string& name, ISvcLocator* loc); 00055 virtual ~RndmEngine(); 00056 public: 00058 virtual StatusCode initialize(); 00060 virtual StatusCode finalize(); 00062 virtual double rndm() const; 00069 virtual StatusCode rndmArray( std::vector<double>& array, long howmany, long start = 0) const; 00074 virtual StreamBuffer& serialize(StreamBuffer& str); 00079 virtual StreamBuffer& serialize(StreamBuffer& str) const; 00081 virtual void handle(const Incident& inc); 00082 }; 00083 00084 #endif // GAUDI_RNDMGENSVC_RNDMENGINE_H