CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LHESource.h
Go to the documentation of this file.
1 #ifndef GeneratorInterface_LHEInterface_LHESource_h
2 #define GeneratorInterface_LHEInterface_LHESource_h
3 
4 #include <memory>
5 
6 #include <boost/shared_ptr.hpp>
7 #include <boost/ptr_container/ptr_deque.hpp>
8 
12 
14 
15 namespace lhef {
16  class LHERunInfo;
17  class LHEEvent;
18  class LHEReader;
19 }
20 
21 namespace edm {
22  class EventPrincipal;
23  class LuminosityBlockPrincipal;
24  class ParameterSet;
25  class Run;
26  class RunPrincipal;
27 }
28 
29 class LHERunInfoProduct;
30 
32  public:
33  explicit LHESource(const edm::ParameterSet &params,
34  const edm::InputSourceDescription &desc);
35  virtual ~LHESource();
36 
37  private:
38  virtual void endJob() override;
39  virtual void beginRun(edm::Run &run) override;
40  virtual void endRun(edm::Run &run) override;
42  virtual void readRun_(edm::RunPrincipal& runPrincipal) override;
43  virtual void readLuminosityBlock_(edm::LuminosityBlockPrincipal& lumiPrincipal) override;
44  virtual void readEvent_(edm::EventPrincipal& eventPrincipal) override;
45  virtual void produce(edm::Event&) {}
46 
47  void nextEvent();
48 
49  std::auto_ptr<lhef::LHEReader> reader;
50 
51  boost::shared_ptr<lhef::LHERunInfo> runInfoLast;
52  boost::shared_ptr<lhef::LHERunInfo> runInfo;
53  boost::shared_ptr<lhef::LHEEvent> partonLevel;
54 
55  boost::ptr_deque<LHERunInfoProduct> runInfoProducts;
56  bool wasMerged;
60 };
61 
62 #endif // GeneratorInterface_LHEInterface_LHESource_h
63 
boost::shared_ptr< lhef::LHERunInfo > runInfo
Definition: LHESource.h:52
virtual ~LHESource()
Definition: LHESource.cc:52
virtual void endJob() override
Definition: LHESource.cc:56
edm::ProcessHistoryID phid_
Definition: LHESource.h:58
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LHESource.h:57
virtual void readLuminosityBlock_(edm::LuminosityBlockPrincipal &lumiPrincipal) override
Definition: LHESource.cc:123
virtual void endRun(edm::Run &run) override
Definition: LHESource.cc:156
RunNumber_t run() const
boost::shared_ptr< lhef::LHEEvent > partonLevel
Definition: LHESource.h:53
virtual bool setRunAndEventInfo(edm::EventID &, edm::TimeValue_t &, edm::EventAuxiliary::ExperimentType &) override
Definition: LHESource.cc:167
boost::shared_ptr< lhef::LHERunInfo > runInfoLast
Definition: LHESource.h:51
virtual void beginRun(edm::Run &run) override
Definition: LHESource.cc:128
std::shared_ptr< RunPrincipal > const runPrincipal() const
virtual void produce(edm::Event &)
Definition: LHESource.h:45
unsigned long long TimeValue_t
Definition: Timestamp.h:28
void nextEvent()
Definition: LHESource.cc:61
LHESource(const edm::ParameterSet &params, const edm::InputSourceDescription &desc)
Definition: LHESource.cc:33
virtual void readEvent_(edm::EventPrincipal &eventPrincipal) override
Definition: LHESource.cc:182
bool wasMerged
Definition: LHESource.h:56
edm::RunPrincipal * runPrincipal_
Definition: LHESource.h:59
virtual void readRun_(edm::RunPrincipal &runPrincipal) override
Definition: LHESource.cc:116
std::auto_ptr< lhef::LHEReader > reader
Definition: LHESource.h:49
boost::ptr_deque< LHERunInfoProduct > runInfoProducts
Definition: LHESource.h:55
Definition: Run.h:43