BOSS 7.0.3
BESIII Offline Software System
Loading...
Searching...
No Matches
Control/BesKernel/BesKernel-00-00-03/BesKernel/IBesRndmGenSvc.h
Go to the documentation of this file.
1/** @class IBesRndmGenSvc
2 * @brief manage multiple CLHEP random engines as named streams
3 *
4 * Based on ATLAS Software
5 */
6
7#ifndef BESKERNEL_IBESRNDMGENSVC_H
8# define BESKERNEL_IBESRNDMGENSVC_H
9
10//<<<<<< INCLUDES >>>>>>
11#ifndef GAUDIKERNEL_IINTERFACE_H
12 #include "GaudiKernel/IInterface.h"
13#endif
14#ifndef _CPP_STRING
15 #include <string>
16#endif
17
18#ifndef HepRandomEngine_h
19 #include "CLHEP/Random/RandomEngine.h"
20#endif
21
22
23//<<<<<< CLASS DECLARATIONS >>>>>>
24class IBesRndmGenSvc : virtual public IInterface {
25public:
26 /// Interface to the CLHEP engine
27 //@{
28 virtual CLHEP::HepRandomEngine* GetEngine(const std::string& StreamName)=0;
29 virtual void CreateStream(long seed1,
30 const std::string& StreamName)=0;
31 ///set the seeds for an engine. First param will usually be the event number
32 virtual CLHEP::HepRandomEngine* setOnDefinedSeeds(int EventNumber,
33 const std::string& StreamName)=0;
34 //@}
35
36 /// Print methods
37 //@{
38 virtual void print(const std::string& StreamName)=0;
39 virtual void print()=0;
40 //@}
41 //random seed interface caogf
42 virtual void setGenseed(long) = 0;
43 virtual long getGenseed() = 0;
44 /// Gaudi boilerplate
45 static const InterfaceID& interfaceID();
46
47 virtual ~IBesRndmGenSvc() {}
48};
49inline
50const InterfaceID&
52 static const InterfaceID _IID("IBesRndmGenSvc", 1, 0);
53 return _IID;
54}
55
56#endif // BESKERNEL_IBESRNDMGENSVC_H
manage multiple CLHEP random engines as named streams
virtual void print(const std::string &StreamName)=0
Print methods.
virtual void setGenseed(long)=0
virtual CLHEP::HepRandomEngine * GetEngine(const std::string &StreamName)=0
Interface to the CLHEP engine.
static const InterfaceID & interfaceID()
Gaudi boilerplate.
virtual void CreateStream(long seed1, const std::string &StreamName)=0
virtual CLHEP::HepRandomEngine * setOnDefinedSeeds(int EventNumber, const std::string &StreamName)=0
set the seeds for an engine. First param will usually be the event number
virtual void print()=0
virtual long getGenseed()=0