12#ifndef ATHENAKERNEL_IATRNDMGENSVC_H
13# define ATHENAKERNEL_IATRNDMGENSVC_H
15#include "GaudiKernel/IService.h"
20 class HepRandomEngine;
29 virtual CLHEP::HepRandomEngine*
GetEngine(
const std::string& streamName)=0;
31 const std::string& streamName)=0;
33 const std::string& streamName)=0;
36 const std::string& streamName)=0;
48 virtual void print(
const std::string& streamName)=0;
manage multiple CLHEP random engines as named streams
virtual void CreateStream(uint32_t seed1, uint32_t seed2, const std::string &streamName)=0
virtual CLHEP::HepRandomEngine * setOnDefinedSeeds(uint32_t theSeed, const std::string &streamName)=0
virtual bool setAllOnDefinedSeeds(uint32_t theSeed)=0
seed all streams we manage, combining theSeed and the stream names
virtual void print(const std::string &streamName)=0
Print methods.
virtual CLHEP::HepRandomEngine * setOnDefinedSeeds(uint32_t eventNumber, uint32_t runNumber, const std::string &streamName)=0
virtual ~IAtRndmGenSvc()
out-of-line destructor
virtual CLHEP::HepRandomEngine * GetEngine(const std::string &streamName)=0
Interface to the CLHEP engine.
virtual bool setAllOnDefinedSeeds(uint32_t eventNumber, uint32_t runNumber)=0
seed all streams, combining eventNumber, runNumber and the stream names
DeclareInterfaceID(IAtRndmGenSvc, 1, 0)