CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
lhef::LHEReader::FileSource Class Reference
Inheritance diagram for lhef::LHEReader::FileSource:
lhef::LHEReader::Source

Public Member Functions

XMLDocumentcreateReader (XMLDocument::Handler &handler) override
 
 FileSource (const std::string &fileURL)
 
 ~FileSource () override
 
- Public Member Functions inherited from lhef::LHEReader::Source
 Source ()
 
virtual ~Source ()
 

Private Attributes

std::unique_ptr< StorageWrapfileStream
 

Detailed Description

Definition at line 49 of file LHEReader.cc.

Constructor & Destructor Documentation

lhef::LHEReader::FileSource::FileSource ( const std::string &  fileURL)
inline

Definition at line 51 of file LHEReader.cc.

References Exception, StorageFactory::get(), eostools::move(), StorageFactory::open(), and IOFlags::OpenRead.

51  {
52  auto storage = StorageFactory::get()->open(fileURL, IOFlags::OpenRead);
53 
54  if (!storage)
55  throw cms::Exception("FileOpenError")
56  << "Could not open LHE file \"" << fileURL << "\" for reading" << std::endl;
57 
58  fileStream.reset(new StorageWrap(std::move(storage)));
59  }
static const StorageFactory * get(void)
std::unique_ptr< StorageWrap > fileStream
Definition: LHEReader.cc:66
def move(src, dest)
Definition: eostools.py:511
std::unique_ptr< Storage > open(const std::string &url, int mode=IOFlags::OpenRead) const
lhef::LHEReader::FileSource::~FileSource ( )
inlineoverride

Definition at line 61 of file LHEReader.cc.

61 {}

Member Function Documentation

XMLDocument* lhef::LHEReader::FileSource::createReader ( XMLDocument::Handler handler)
inlineoverridevirtual

Implements lhef::LHEReader::Source.

Definition at line 63 of file LHEReader.cc.

63 { return new XMLDocument(fileStream, handler); }
std::unique_ptr< StorageWrap > fileStream
Definition: LHEReader.cc:66
std::unique_ptr< XMLHandler > handler
Definition: LHEReader.h:41

Member Data Documentation

std::unique_ptr<StorageWrap> lhef::LHEReader::FileSource::fileStream
private

Definition at line 66 of file LHEReader.cc.