CMS 3D CMS Logo

myEvtRandomEngine.cc
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 //
3 // Module: myEvtRandomEngine.cpp
4 //
5 // Description:
6 // this is an EvtRandomEngine
7 // It is used as an interface of the random number engine provided
8 // by the CMSSW 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 //
19 #include "CLHEP/Random/RandomEngine.h"
21 
23 
25 
27 {
28  if(the_engine == nullptr) {
29  throwNullPtr();
30  }
31  return the_engine->flat();
32 }
33 
36  << "The EvtGen code attempted to a generate random number while\n"
37  << "the engine pointer was null. This might mean that the code\n"
38  << "was modified to generate a random number outside the event and\n"
39  << "beginLuminosityBlock methods, which is not allowed.\n";
40 }
myEvtRandomEngine(CLHEP::HepRandomEngine *xx)
~myEvtRandomEngine() override
double random() override
CLHEP::HepRandomEngine * the_engine
void throwNullPtr() const