1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include "FastSimulation/Utilities/interface/RandomEngineAndDistribution.h"
#include "FWCore/AbstractServices/interface/RandomNumberGenerator.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
#include "FWCore/Utilities/interface/Exception.h"
#include "CLHEP/Random/RandomEngine.h"
RandomEngineAndDistribution::RandomEngineAndDistribution(edm::StreamID const& streamID) : engine_(nullptr) {
edm::Service<edm::RandomNumberGenerator> rng;
if (!rng.isAvailable()) {
throw cms::Exception("Configuration") << "RandomNumberGenerator service is not available.\n"
"You must add the service in the configuration file\n"
"or remove the module that requires it.";
}
engine_ = &rng->getEngine(streamID);
}
RandomEngineAndDistribution::RandomEngineAndDistribution(edm::LuminosityBlockIndex const& luminosityBlockIndex)
: engine_(nullptr) {
edm::Service<edm::RandomNumberGenerator> rng;
if (!rng.isAvailable()) {
throw cms::Exception("Configuration") << "RandomNumberGenerator service is not available.\n"
"You must add the service in the configuration file\n"
"or remove the module that requires it.";
}
engine_ = &rng->getEngine(luminosityBlockIndex);
}
RandomEngineAndDistribution::~RandomEngineAndDistribution() {}
|