00001
00007 #ifndef BESKERNEL_IBESRNDMGENSVC_H
00008 # define BESKERNEL_IBESRNDMGENSVC_H
00009
00010
00011 #ifndef GAUDIKERNEL_IINTERFACE_H
00012 #include "GaudiKernel/IInterface.h"
00013 #endif
00014 #ifndef _CPP_STRING
00015 #include <string>
00016 #endif
00017
00018 #ifndef HepRandomEngine_h
00019 #include "CLHEP/Random/RandomEngine.h"
00020 #endif
00021
00022
00023
00024 class IBesRndmGenSvc : virtual public IInterface {
00025 public:
00027
00028 virtual CLHEP::HepRandomEngine* GetEngine(const std::string& StreamName)=0;
00029 virtual void CreateStream(long seed1,
00030 const std::string& StreamName)=0;
00032 virtual CLHEP::HepRandomEngine* setOnDefinedSeeds(int EventNumber,
00033 const std::string& StreamName)=0;
00035
00037
00038 virtual void print(const std::string& StreamName)=0;
00039 virtual void print()=0;
00041
00042 virtual void setGenseed(long) = 0;
00043 virtual long getGenseed() = 0;
00045 static const InterfaceID& interfaceID();
00046
00047 virtual ~IBesRndmGenSvc() {}
00048 };
00049 inline
00050 const InterfaceID&
00051 IBesRndmGenSvc::interfaceID() {
00052 static const InterfaceID _IID("IBesRndmGenSvc", 1, 0);
00053 return _IID;
00054 }
00055
00056 #endif // BESKERNEL_IBESRNDMGENSVC_H