CMS 3D CMS Logo

myEvtRandomEngine.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 //
3 // Module: myEvtRandomEngine.hh
4 //
5 // Description:
6 // this is an EvtRandomEngine
7 // It is used as an interface of the random number engine provided
8 // by the random number generator service and EvtGen
9 // Its "random()" method uses the "Flat()" method of the CLHEP::HepRandomEngine
10 // provided by the Random Number Generator Service
11 //
12 // Modification history:
13 //
14 // Nello Nappi May 9, 2007 Module created
15 //
16 //------------------------------------------------------------------------
17 
18 #ifndef MYEVTRANDOMENGINE_HH
19 #define MYEVTRANDOMENGINE_HH
20 
21 #include "EvtGenBase/EvtRandomEngine.hh"
22 
23 namespace CLHEP {
24  class HepRandomEngine;
25 }
26 
27 class myEvtRandomEngine : public EvtRandomEngine
28 {
29 
30 public:
31 
32  myEvtRandomEngine(CLHEP::HepRandomEngine* xx);
33 
34  ~myEvtRandomEngine() override;
35 
36  double random() override;
37 
38  void setRandomEngine(CLHEP::HepRandomEngine* v) { the_engine = v; }
39 
40  CLHEP::HepRandomEngine* engine() const { return the_engine; }
41 
42 private:
43 
44  void throwNullPtr() const;
45 
46  CLHEP::HepRandomEngine* the_engine;
47 };
48 #endif
TRandom random
Definition: MVATrainer.cc:138
CLHEP::HepRandomEngine * engine() const
CLHEP::HepRandomEngine * the_engine
void setRandomEngine(CLHEP::HepRandomEngine *v)