ATLAS Offline Software
Loading...
Searching...
No Matches
IAtRndmGenSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
11
12#ifndef ATHENAKERNEL_IATRNDMGENSVC_H
13# define ATHENAKERNEL_IATRNDMGENSVC_H
14
15#include "GaudiKernel/IService.h"
16#include <string>
17#include "stdint.h"
18
19namespace CLHEP {
20 class HepRandomEngine;
21}
22
23class IAtRndmGenSvc : virtual public IService {
24public:
26
28
29 virtual CLHEP::HepRandomEngine* GetEngine(const std::string& streamName)=0;
30 virtual void CreateStream(uint32_t seed1, uint32_t seed2,
31 const std::string& streamName)=0;
32 virtual CLHEP::HepRandomEngine* setOnDefinedSeeds(uint32_t theSeed,
33 const std::string& streamName)=0;
34 virtual CLHEP::HepRandomEngine* setOnDefinedSeeds(uint32_t eventNumber,
35 uint32_t runNumber,
36 const std::string& streamName)=0;
38 virtual bool setAllOnDefinedSeeds (uint32_t theSeed)=0;
40 virtual bool setAllOnDefinedSeeds (uint32_t eventNumber, uint32_t runNumber)=0;
42
44 virtual ~IAtRndmGenSvc();
45
47
48 virtual void print(const std::string& streamName)=0;
49 virtual void print()=0;
51};
52
53#endif // ATHENAKERNEL_IATRNDMGENSVC_H
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 void print()=0
virtual bool setAllOnDefinedSeeds(uint32_t eventNumber, uint32_t runNumber)=0
seed all streams, combining eventNumber, runNumber and the stream names
DeclareInterfaceID(IAtRndmGenSvc, 1, 0)