LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
RootDelayedReader.h
Go to the documentation of this file.
1 #ifndef art_Framework_IO_Root_RootDelayedReader_h
2 #define art_Framework_IO_Root_RootDelayedReader_h
3 // vim: set sw=2:
4 
9 #include "canvas/Persistency/Provenance/Compatibility/BranchIDList.h"
13 
14 #include <map>
15 #include <memory>
16 #include <string>
17 
18 extern "C" {
19 #include "sqlite3.h"
20 }
21 
22 class TFile;
23 
24 namespace art {
25 
26  class RootInputFile;
27  class RootInputTree;
28 
29  class RootDelayedReader final : public DelayedReader {
30 
31  public: // MEMBER FUNCTIONS
32  ~RootDelayedReader() = default;
33 
34  RootDelayedReader(RootDelayedReader const&) = delete;
36 
38  sqlite3* db,
39  std::vector<input::EntryNumber> const& entrySet,
40  input::BranchMap const&,
41  cet::exempt_ptr<RootInputTree> tree,
42  int64_t saveMemoryObjectThreshold,
43  cet::exempt_ptr<RootInputFile> primaryFile,
44  cet::exempt_ptr<BranchIDLists const> branchIDLists,
45  BranchType branchType,
46  EventID,
47  bool compactSubRunRanges);
48 
49  private: // MEMBER FUNCTIONS
50  std::unique_ptr<EDProduct> getProduct_(BranchKey const&,
51  TypeID const&,
52  RangeSet&) const override;
53  void setGroupFinder_(cet::exempt_ptr<EDProductGetterFinder const>) override;
54  int openNextSecondaryFile_(int idx) override;
55 
56  private: // MEMBER DATA
58  sqlite3* db_;
59  std::vector<input::EntryNumber> const entrySet_;
61  cet::exempt_ptr<RootInputTree> tree_;
63  cet::exempt_ptr<EDProductGetterFinder const> groupFinder_;
64  cet::exempt_ptr<RootInputFile> primaryFile_;
65  cet::exempt_ptr<BranchIDLists const>
66  branchIDLists_; // Only for backwards compatibility
70  };
71 
72 } // namespace art
73 
74 // Local Variables:
75 // mode: c++
76 // End:
77 #endif /* art_Framework_IO_Root_RootDelayedReader_h */
std::unique_ptr< EDProduct > getProduct_(BranchKey const &, TypeID const &, RangeSet &) const override
int openNextSecondaryFile_(int idx) override
RootDelayedReader & operator=(RootDelayedReader const &)=delete
std::map< BranchKey const, BranchInfo > BranchMap
Definition: Inputfwd.h:45
std::vector< input::EntryNumber > const entrySet_
RootDelayedReader(RootDelayedReader const &)=delete
~RootDelayedReader()=default
cet::exempt_ptr< RootInputFile > primaryFile_
cet::exempt_ptr< EDProductGetterFinder const > groupFinder_
cet::exempt_ptr< RootInputTree > tree_
BranchType
Definition: BranchType.h:18
HLT enums.
input::BranchMap const & branches_
cet::exempt_ptr< BranchIDLists const > branchIDLists_
void setGroupFinder_(cet::exempt_ptr< EDProductGetterFinder const >) override
FileFormatVersion fileFormatVersion_