00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IRndmGenSvc.h,v 1.4 2006/11/30 14:43:13 mato Exp $ 00002 #ifndef GAUDIKERNEL_IRNDMGENSVC_H 00003 #define GAUDIKERNEL_IRNDMGENSVC_H 00004 00005 // STL include files 00006 #include <string> 00007 #include <vector> 00008 00009 // Framework include files 00010 #include "GaudiKernel/IService.h" 00011 #include "GaudiKernel/IRndmGen.h" 00012 00013 // Forward declarations 00014 class IFactory; 00015 class IRndmGen; 00016 class StreamBuffer; 00017 class IRndmEngine; 00018 class IRndmGenFactory; 00019 00020 // Declaration of the interface ID ( interface id, major version, minor version) 00021 static const InterfaceID IID_IRndmGenSvc(141, 1 , 0); 00022 00039 class IRndmGenSvc : virtual public IService { 00040 public: 00042 static const InterfaceID& interfaceID() { return IID_IRndmGenSvc; } 00046 virtual IRndmEngine* engine() = 0; 00052 virtual StatusCode generator(const IRndmGen::Param& par, IRndmGen*& refpGen) = 0; 00053 }; 00054 00055 #endif // GAUDIKERNEL_IRNDMGENSVC_H