BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Control/BesRndmGenSvc/include/BesRndmGenSvc/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//<<<<<< CLASS DECLARATIONS >>>>>>
23class IBesRndmGenSvc : virtual public IInterface {
24public:
25 /// Interface to the CLHEP engine
26 //@{
27 virtual CLHEP::HepRandomEngine* GetEngine( const std::string& StreamName ) = 0;
28 virtual void CreateStream( long seed1, const std::string& StreamName ) = 0;
29 /// set the seeds for an engine. First param will usually be the event number
30 virtual CLHEP::HepRandomEngine* setOnDefinedSeeds( int EventNumber,
31 const std::string& StreamName ) = 0;
32 //@}
33
34 /// Print methods
35 //@{
36 virtual void print( const std::string& StreamName ) = 0;
37 virtual void print() = 0;
38 //@}
39 // random seed interface caogf
40 virtual void setGenseed( long ) = 0;
41 virtual long getGenseed() = 0;
42 /// Gaudi boilerplate
43 // static const InterfaceID& interfaceID();
45 virtual ~IBesRndmGenSvc() {}
46};
47/*inline
48const InterfaceID&
49IBesRndmGenSvc::interfaceID() {
50 static const InterfaceID _IID("IBesRndmGenSvc", 1, 0);
51 return _IID;
52}*/
53
54#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.
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
DeclareInterfaceID(IBesRndmGenSvc, 1, 0)
Gaudi boilerplate.
virtual long getGenseed()=0