CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RandomEngineStateProducer.cc
Go to the documentation of this file.
1 
3 
11 
12 #include <memory>
13 
15  produces<edm::RandomEngineStates, edm::InLumi>("beginLumi");
16  produces<edm::RandomEngineStates>();
17 }
18 
20 }
21 
22 void
25  if(randomService.isAvailable()) {
26  std::auto_ptr<edm::RandomEngineStates> states(new edm::RandomEngineStates);
27  states->setRandomEngineStates(randomService->getEventCache(ev.streamID()));
28  ev.put(states);
29  }
30 }
31 
32 void
35  if(randomService.isAvailable()) {
36  std::auto_ptr<edm::RandomEngineStates> states(new edm::RandomEngineStates);
37  states->setRandomEngineStates(randomService->getLumiCache(lb.index()));
38  lb.put(states, "beginLumi");
39  }
40 }
41 
42 void
45  descriptions.add("randomEngineStateProducer", desc);
46 }
LuminosityBlockIndex index() const
virtual std::vector< RandomEngineState > const & getLumiCache(LuminosityBlockIndex const &) const =0
bool ev
RandomEngineStateProducer(edm::ParameterSet const &pset)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:116
bool isAvailable() const
Definition: Service.h:46
virtual std::vector< RandomEngineState > const & getEventCache(StreamID const &) const =0
void add(std::string const &label, ParameterSetDescription const &psetDescription)
virtual void globalBeginLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &) const override
StreamID streamID() const
Definition: Event.h:75
virtual void produce(edm::StreamID iID, edm::Event &ev, edm::EventSetup const &es) const override
void put(std::auto_ptr< PROD > product)
Put a new product.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)