|
|
Go to the documentation of this file.
31 #include "CLHEP/Random/RandFlat.h"
34 class HepRandomEngine;
38 produces<RPCDigiCollection>();
39 produces<RPCDigitizerSimLinks>(
"RPCDigiSimLink");
46 if (!rng.isAvailable()) {
48 <<
"RPCDigitizer requires the RandomNumberGeneratorService\n"
49 "which is not present in the configuration file. You must add the service\n"
50 "in the configuration file or remove the modules that require it.";
58 geomToken = esConsumes<RPCGeometry, MuonGeometryRecord, edm::Transition::BeginRun>();
59 noiseToken = esConsumes<RPCStripNoises, RPCStripNoisesRcd, edm::Transition::BeginRun>();
60 clsToken = esConsumes<RPCClusterSize, RPCClusterSizeRcd, edm::Transition::BeginRun>();
93 CLHEP::HepRandomEngine* engine = &rng->
getEngine(
e.streamID());
95 LogDebug(
"RPCandIRPCDigiProducer") <<
"[RPCandIRPCDigiProducer::produce] got the CLHEP::HepRandomEngine engine from "
96 "the edm::Event.streamID() and edm::Service<edm::RandomNumberGenerator>";
97 LogDebug(
"RPCandIRPCDigiProducer") <<
"[RPCandIRPCDigiProducer::produce] test the CLHEP::HepRandomEngine by firing "
98 "once RandFlat ---- this must be the first time in SimMuon/RPCDigitizer";
99 LogDebug(
"RPCandIRPCDigiProducer") <<
"[RPCandIRPCDigiProducer::produce] to activate the test go in "
100 "RPCandIRPCDigiProducer.cc and uncomment the line below";
116 e.put(
std::move(RPCDigitSimLink),
"RPCDigiSimLink");
std::vector< NoiseItem > const & getVNoise() const
void doAction(MixCollection< PSimHit > &simHits, RPCDigiCollection &rpcDigis, RPCDigiSimLinks &rpcDigiSimLink, CLHEP::HepRandomEngine *)
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
T const * product() const
IRPCDigitizer * theIRPCDigitizer
edm::ESGetToken< RPCClusterSize, RPCClusterSizeRcd > clsToken
std::vector< ClusterSizeItem > const & getCls() const
void setRPCSimSetUp(RPCSimSetUp *simsetup)
RPCDigitizer::RPCDigiSimLinks RPCDigitizerSimLinks
void setGeometry(const RPCGeometry *geom)
sets geometry
void setRPCSimSetUp(RPCSimSetUp *simsetup)
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > geomToken
void produce(edm::Event &e, const edm::EventSetup &c) override
~RPCandIRPCDigiProducer() override
void setGeometry(const RPCGeometry *geom)
sets geometry
edm::EDGetTokenT< CrossingFrame< PSimHit > > crossingFrameToken
RPCandIRPCDigiProducer(const edm::ParameterSet &ps)
RPCSimSetUp * theRPCSimSetUpRPC
const RPCGeometry * _pGeom
edm::ESGetToken< RPCStripNoises, RPCStripNoisesRcd > noiseToken
MuonDigiCollection< RPCDetId, RPCDigi > RPCDigiCollection
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
void setGeometry(const RPCGeometry *geom)
sets geometry
RPCSimSetUp * theRPCSimSetUpIRPC
T getParameter(std::string const &) const
void beginRun(const edm::Run &, const edm::EventSetup &) override
void setRPCSetUp(const std::vector< RPCStripNoises::NoiseItem > &vnoise, const std::vector< float > &vcls)
void doAction(MixCollection< PSimHit > &simHits, RPCDigiCollection &rpcDigis, RPCDigiSimLinks &rpcDigiSimLink, CLHEP::HepRandomEngine *)
std::string collection_for_XF
RPCDigitizer * theRPCDigitizer