28 produces<CSCWireDigiCollection>(
"MuonCSCWireDigi");
29 produces<CSCStripDigiCollection>(
"MuonCSCStripDigi");
30 produces<CSCComparatorDigiCollection>(
"MuonCSCComparatorDigi");
31 produces<DigiSimLinks>(
"MuonCSCWireDigiSimLinks");
32 produces<DigiSimLinks>(
"MuonCSCStripDigiSimLinks");
36 if (stripConditions ==
"Configurable") {
38 }
else if (stripConditions ==
"Database") {
47 throw cms::Exception(
"Configuration") <<
"CSCDigitizer requires the RandomNumberGeneratorService\n" 48 "which is not present in the configuration file. You must add the " 50 "in the configuration file or remove the modules that require it.";
61 edm::LogVerbatim(
"CSCDigitizer") <<
"[CSCDigiProducer::produce] starting event " << ev.
id().
event() <<
" of run " 76 std::unique_ptr<DigiSimLinks> pWireDigiSimLinks(
new DigiSimLinks());
77 std::unique_ptr<DigiSimLinks> pStripDigiSimLinks(
new DigiSimLinks());
80 if (hits->size() > 0) {
103 *hits, *pWireDigis, *pStripDigis, *pComparatorDigis, *pWireDigiSimLinks, *pStripDigiSimLinks, engine);
109 ev.
put(
std::move(pComparatorDigis),
"MuonCSCComparatorDigi");
110 ev.
put(
std::move(pWireDigiSimLinks),
"MuonCSCWireDigiSimLinks");
111 ev.
put(
std::move(pStripDigiSimLinks),
"MuonCSCStripDigiSimLinks");
T getParameter(std::string const &) const
EventNumber_t event() const
CSCDigiProducer(const edm::ParameterSet &ps)
CSCDigitizer::DigiSimLinks DigiSimLinks
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
void produce(edm::Event &e, const edm::EventSetup &c) override
CSCDigitizer theDigitizer
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MuonDigiCollection< CSCDetId, CSCStripDigi > CSCStripDigiCollection
CSCStripConditions * theStripConditions
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
virtual void initializeEvent(const edm::EventSetup &es)
MuonDigiCollection< CSCDetId, CSCComparatorDigi > CSCComparatorDigiCollection
bool getData(T &iHolder) const
~CSCDigiProducer() override
edm::EDGetTokenT< CrossingFrame< PSimHit > > cf_token
void setStripConditions(CSCStripConditions *cond)
MuonDigiCollection< CSCDetId, CSCWireDigi > CSCWireDigiCollection
T const * product() const
void setParticleDataTable(const ParticleDataTable *pdt)
void doAction(MixCollection< PSimHit > &simHits, CSCWireDigiCollection &wireDigis, CSCStripDigiCollection &stripDigis, CSCComparatorDigiCollection &comparators, DigiSimLinks &wireDigiSimLinks, DigiSimLinks &stripDigiSimLinks, CLHEP::HepRandomEngine *)
StreamID streamID() const
void setGeometry(const CSCGeometry *geom)
sets geometry
void setMagneticField(const MagneticField *field)
sets the magnetic field