CMS 3D CMS Logo

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 
9 
10 namespace lhef {
11 
12  class XMLDocument;
13  class LHERunInfo;
14  class LHEEvent;
15 
16  class LHEReader {
17  public:
19  LHEReader(const std::vector<std::string> &fileNames, unsigned int skip = 0);
20  LHEReader(const std::string &inputs, unsigned int skip = 0);
21  ~LHEReader();
22 
23  std::shared_ptr<LHEEvent> next(bool *newFileOpened = nullptr);
24 
25  private:
26  class Source;
27  class FileSource;
28  class StringSource;
29  class XMLHandler;
30 
31  const std::vector<std::string> fileURLs;
33  unsigned int firstEvent;
34  int maxEvents;
35  unsigned int curIndex;
36  std::vector<std::string> weightsinconfig;
37 
38  std::unique_ptr<Source> curSource;
39  std::unique_ptr<XMLDocument> curDoc;
40  std::shared_ptr<LHERunInfo> curRunInfo;
41  std::unique_ptr<XMLHandler> handler;
42  std::shared_ptr<void> platform;
43  };
44 
45 } // namespace lhef
46 
47 #endif // GeneratorInterface_LHEInterface_LHEReader_h
std::shared_ptr< void > platform
Definition: LHEReader.h:42
LHEReader(const edm::ParameterSet &params)
Definition: LHEReader.cc:415
const std::vector< std::string > fileURLs
Definition: LHEReader.h:29
const std::string strName
Definition: LHEReader.h:32
std::unique_ptr< XMLDocument > curDoc
Definition: LHEReader.h:39
std::unique_ptr< Source > curSource
Definition: LHEReader.h:38
unsigned int firstEvent
Definition: LHEReader.h:33
std::shared_ptr< LHERunInfo > curRunInfo
Definition: LHEReader.h:40
std::unique_ptr< XMLHandler > handler
Definition: LHEReader.h:41
std::shared_ptr< LHEEvent > next(bool *newFileOpened=nullptr)
Definition: LHEReader.cc:444
unsigned int curIndex
Definition: LHEReader.h:35
std::vector< std::string > weightsinconfig
Definition: LHEReader.h:36