CMS 3D CMS Logo

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 LuminosityBlockAuxiliary;
24  class LuminosityBlockPrincipal;
25  class ParameterSet;
26  class Run;
27  class RunAuxiliary;
28  class RunPrincipal;
29 }
30 
31 class LHERunInfoProduct;
32 
34 public:
35  explicit LHESource(const edm::ParameterSet &params,
36  const edm::InputSourceDescription &desc);
37  ~LHESource() override;
38 
39 private:
40  void endJob() override;
41  void beginRun(edm::Run &run) override;
42  void endRun(edm::Run &run) override;
43  bool setRunAndEventInfo(edm::EventID&, edm::TimeValue_t&, edm::EventAuxiliary::ExperimentType&) override;
44  void readRun_(edm::RunPrincipal& runPrincipal) override;
45  void readLuminosityBlock_(edm::LuminosityBlockPrincipal& lumiPrincipal) override;
46  void readEvent_(edm::EventPrincipal& eventPrincipal) override;
47  void produce(edm::Event&) override {}
48  std::shared_ptr<edm::RunAuxiliary> readRunAuxiliary_() override;
49  std::shared_ptr<edm::LuminosityBlockAuxiliary> readLuminosityBlockAuxiliary_() override;
50 
51  void nextEvent();
52 
53  std::auto_ptr<lhef::LHEReader> reader;
54 
55  boost::shared_ptr<lhef::LHERunInfo> runInfoLast;
56  boost::shared_ptr<lhef::LHERunInfo> runInfo;
57  boost::shared_ptr<lhef::LHEEvent> partonLevel;
58 
59  boost::ptr_deque<LHERunInfoProduct> runInfoProducts;
60  bool wasMerged;
64 };
65 
66 #endif // GeneratorInterface_LHEInterface_LHESource_h
boost::shared_ptr< lhef::LHERunInfo > runInfo
Definition: LHESource.h:56
edm::ProcessHistoryID phid_
Definition: LHESource.h:62
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LHESource.h:61
boost::shared_ptr< lhef::LHEEvent > partonLevel
Definition: LHESource.h:57
boost::shared_ptr< lhef::LHERunInfo > runInfoLast
Definition: LHESource.h:55
unsigned long long TimeValue_t
Definition: Timestamp.h:28
bool wasMerged
Definition: LHESource.h:60
edm::RunPrincipal * runPrincipal_
Definition: LHESource.h:63
HLT enums.
std::auto_ptr< lhef::LHEReader > reader
Definition: LHESource.h:53
boost::ptr_deque< LHERunInfoProduct > runInfoProducts
Definition: LHESource.h:59
void produce(edm::Event &) override
Definition: LHESource.h:47
Definition: Run.h:43