CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LHEReader.h
Go to the documentation of this file.
1 #ifndef GeneratorInterface_LHEInterface_LHEReader_h
2 #define GeneratorInterface_LHEInterface_LHEReader_h
3 
4 #include <string>
5 #include <vector>
6 #include <memory>
7 
8 #include <boost/shared_ptr.hpp>
9 
11 
12 namespace lhef {
13 
14 class XMLDocument;
15 class LHERunInfo;
16 class LHEEvent;
17 
18 class LHEReader {
19  public:
20  LHEReader(const edm::ParameterSet &params);
21  LHEReader(const std::vector<std::string> &fileNames,
22  unsigned int skip = 0);
24  unsigned int skip = 0);
25  ~LHEReader();
26 
27  boost::shared_ptr<LHEEvent> next(bool* newFileOpened = nullptr);
28 
29  private:
30  class Source;
31  class FileSource;
32  class StringSource;
33  class XMLHandler;
34 
35  const std::vector<std::string> fileURLs;
37  unsigned int firstEvent;
38  int maxEvents;
39  unsigned int curIndex;
40 
41  std::auto_ptr<Source> curSource;
42  std::auto_ptr<XMLDocument> curDoc;
43  boost::shared_ptr<LHERunInfo> curRunInfo;
44  std::auto_ptr<XMLHandler> handler;
45 };
46 
47 } // namespace lhef
48 
49 #endif // GeneratorInterface_LHEInterface_LHEReader_h
LHEReader(const edm::ParameterSet &params)
Definition: LHEReader.cc:318
const std::vector< std::string > fileURLs
Definition: LHEReader.h:33
boost::shared_ptr< LHERunInfo > curRunInfo
Definition: LHEReader.h:43
std::auto_ptr< XMLHandler > handler
Definition: LHEReader.h:44
const std::string strName
Definition: LHEReader.h:36
boost::shared_ptr< LHEEvent > next(bool *newFileOpened=nullptr)
Definition: LHEReader.cc:345
std::auto_ptr< XMLDocument > curDoc
Definition: LHEReader.h:42
unsigned int firstEvent
Definition: LHEReader.h:37
tuple fileNames
Definition: LaserDQM_cfg.py:34
std::auto_ptr< Source > curSource
Definition: LHEReader.h:41
unsigned int curIndex
Definition: LHEReader.h:39