ATLAS Offline Software
Loading...
Searching...
No Matches
IAthRNGSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
13
14#ifndef ATHENAKERNEL_IATHRNGSVC_H
15#define ATHENAKERNEL_IATHRNGSVC_H
16
17#include "GaudiKernel/IService.h"
18#include "GaudiKernel/INamedInterface.h"
19
20#include <string>
21#include "stdint.h"
22
23namespace ATHRNG {
24 class RNGWrapper;
25}
26
27class IAthRNGSvc : virtual public IService
28{
29
30public:
31
33 virtual ATHRNG::RNGWrapper* getEngine(const INamedInterface* client,
34 const std::string& streamName = "") = 0;
35
37 virtual ~IAthRNGSvc();
38
40 virtual void printEngineState(const INamedInterface* client,
41 const std::string& streamName = "") = 0;
42
45
46};
47
48#endif // ATHENAKERNEL_IATHRNGSVC_H
A wrapper class for event-slot-local random engines.
Definition RNGWrapper.h:56
manage multiple RandomEngines in thread-safe way.
Definition IAthRNGSvc.h:28
DeclareInterfaceID(IAthRNGSvc, 1, 0)
Declare interface to the framework.
virtual ~IAthRNGSvc()
out-of-line destructor
Definition IAthRNGSvc.cxx:6
virtual void printEngineState(const INamedInterface *client, const std::string &streamName="")=0
Extract and print RNG state to MsgStream.
virtual ATHRNG::RNGWrapper * getEngine(const INamedInterface *client, const std::string &streamName="")=0
Interface to retrieve the CLHEP engine.