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;
41  virtual bool setRunAndEventInfo(edm::EventID&, edm::TimeValue_t&) override;
42  virtual boost::shared_ptr<edm::RunPrincipal> readRun_(boost::shared_ptr<edm::RunPrincipal> runPrincipal) override;
43  virtual boost::shared_ptr<edm::LuminosityBlockPrincipal> readLuminosityBlock_(boost::shared_ptr<edm::LuminosityBlockPrincipal> lumiPrincipal) override;
44  virtual edm::EventPrincipal* 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;
59  boost::shared_ptr<edm::RunPrincipal> runPrincipal_;
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 endRun(edm::Run &run) override
Definition: LHESource.cc:126
RunNumber_t run() const
boost::shared_ptr< lhef::LHEEvent > partonLevel
Definition: LHESource.h:53
boost::shared_ptr< edm::RunPrincipal > runPrincipal_
Definition: LHESource.h:59
boost::shared_ptr< lhef::LHERunInfo > runInfoLast
Definition: LHESource.h:51
virtual boost::shared_ptr< edm::LuminosityBlockPrincipal > readLuminosityBlock_(boost::shared_ptr< edm::LuminosityBlockPrincipal > lumiPrincipal) override
Definition: LHESource.cc:92
virtual void beginRun(edm::Run &run) override
Definition: LHESource.cc:98
virtual void produce(edm::Event &)
Definition: LHESource.h:45
unsigned long long TimeValue_t
Definition: Timestamp.h:27
virtual bool setRunAndEventInfo(edm::EventID &, edm::TimeValue_t &) override
Definition: LHESource.cc:137
void nextEvent()
Definition: LHESource.cc:61
LHESource(const edm::ParameterSet &params, const edm::InputSourceDescription &desc)
Definition: LHESource.cc:33
bool wasMerged
Definition: LHESource.h:56
virtual boost::shared_ptr< edm::RunPrincipal > readRun_(boost::shared_ptr< edm::RunPrincipal > runPrincipal) override
Definition: LHESource.cc:84
boost::shared_ptr< RunPrincipal > const runPrincipal() const
virtual edm::EventPrincipal * readEvent_(edm::EventPrincipal &eventPrincipal) override
Definition: LHESource.cc:147
std::auto_ptr< lhef::LHEReader > reader
Definition: LHESource.h:49
boost::ptr_deque< LHERunInfoProduct > runInfoProducts
Definition: LHESource.h:55
Definition: Run.h:36