| # Gaudi Framework, version v21r8 |

Home |  | Generated: 17 Mar 2010

# RndmEngine.h

Go to the documentation of this file.

    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