LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
FileBlock.h
Go to the documentation of this file.
1 #ifndef art_Framework_Core_FileBlock_h
2 #define art_Framework_Core_FileBlock_h
3 // vim: set sw=2 expandtab :
4 
5 // =======================================================================
6 // FileBlock: Properties of an input file.
7 // =======================================================================
8 
11 
12 #include <memory>
13 #include <string>
14 
15 namespace art {
16 
17  class FileBlock {
18  public:
19  FileBlock();
20  virtual ~FileBlock() noexcept;
21 
22  FileBlock(FileFormatVersion const& version, std::string const& fileName);
23  FileBlock(FileFormatVersion const& version,
24  std::string const& fileName,
25  std::unique_ptr<ResultsPrincipal>&& resp);
26 
27  FileFormatVersion const& fileFormatVersion() const;
28  std::string const& fileName() const;
29 
30  private:
31  friend class OutputModule;
32  ResultsPrincipal const* resultsPrincipal() const;
33 
35  std::string fileName_{};
36  std::unique_ptr<ResultsPrincipal> resp_{};
37  };
38 
39 } // namespace art
40 
41 #endif /* art_Framework_Core_FileBlock_h */
42 
43 // Local Variables:
44 // mode: c++
45 // End:
FileFormatVersion const & fileFormatVersion() const
Definition: FileBlock.cc:26
FileFormatVersion fileFormatVersion_
Definition: FileBlock.h:34
std::unique_ptr< ResultsPrincipal > resp_
Definition: FileBlock.h:36
virtual ~FileBlock() noexcept
std::string const & fileName() const
Definition: FileBlock.cc:32
std::string fileName_
Definition: FileBlock.h:35
ResultsPrincipal const * resultsPrincipal() const
Definition: FileBlock.cc:38
Definition: MVAAlg.h:12