CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
CMS_SHERPA_RNG Class Reference
Inheritance diagram for CMS_SHERPA_RNG:

Public Member Functions

 CMS_SHERPA_RNG ()
 
void setRandomEngine (CLHEP::HepRandomEngine *v)
 

Private Member Functions

double Get () override
 

Private Attributes

CLHEP::HepRandomEngine * randomEngine
 

Detailed Description

Definition at line 77 of file SherpaHadronizer.cc.

Constructor & Destructor Documentation

◆ CMS_SHERPA_RNG()

CMS_SHERPA_RNG::CMS_SHERPA_RNG ( )
inline

Definition at line 79 of file SherpaHadronizer.cc.

References setRandomEngine().

79  : randomEngine(nullptr) {
80  edm::LogVerbatim("SherpaHadronizer") << "Use stored reference for the external RNG";
81  setRandomEngine(GetExternalEngine());
82  }
Log< level::Info, true > LogVerbatim
CLHEP::HepRandomEngine * randomEngine
void setRandomEngine(CLHEP::HepRandomEngine *v)

Member Function Documentation

◆ Get()

double CMS_SHERPA_RNG::Get ( )
overrideprivate

Definition at line 353 of file SherpaHadronizer.cc.

References Exception, edm::errors::LogicError, and randomEngine.

353  {
354  if (randomEngine == nullptr) {
355  throw edm::Exception(edm::errors::LogicError) << "The Sherpa code attempted to a generate random number while\n"
356  << "the engine pointer was null. This might mean that the code\n"
357  << "was modified to generate a random number outside the event and\n"
358  << "beginLuminosityBlock methods, which is not allowed.\n";
359  }
360  return randomEngine->flat();
361 }
CLHEP::HepRandomEngine * randomEngine

◆ setRandomEngine()

void CMS_SHERPA_RNG::setRandomEngine ( CLHEP::HepRandomEngine *  v)
inline

Definition at line 83 of file SherpaHadronizer.cc.

References randomEngine, and findQualityFiles::v.

Referenced by CMS_SHERPA_RNG(), and SherpaHadronizer::doSetRandomEngine().

83 { randomEngine = v; }
CLHEP::HepRandomEngine * randomEngine

Member Data Documentation

◆ randomEngine

CLHEP::HepRandomEngine* CMS_SHERPA_RNG::randomEngine
private

Definition at line 87 of file SherpaHadronizer.cc.

Referenced by Get(), and setRandomEngine().