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 expandtab :
4 
13 
14 #include <atomic>
15 #include <map>
16 #include <memory>
17 #include <string>
18 
19 extern "C" {
20 #include "sqlite3.h"
21 } // extern "C"
22 
23 class TBranch;
24 class TFile;
25 
26 namespace art {
27  class Group;
28  class Principal;
29  class ProductProvenance;
30  class RootInputFile;
31  class RootInputTree;
32  class RootDelayedReader final : public DelayedReader {
33  public: // MEMBER FUNCTIONS -- Special Member Functions
35  RootDelayedReader(RootDelayedReader const&) = delete;
40  sqlite3* db,
41  std::vector<input::EntryNumber> const& entrySet,
43  TBranch* provenanceBranch,
44  int64_t saveMemoryObjectThreshold,
47  BranchType branchType,
48  EventID,
49  bool compactSubRunRanges);
50 
51  private: // MEMBER FUNCTIONS -- API
52  std::unique_ptr<EDProduct> getProduct_(Group const*,
53  ProductID,
54  RangeSet&) const override;
56  std::vector<ProductProvenance> readProvenance_() const override;
57  bool isAvailableAfterCombine_(ProductID) const override;
58  int openNextSecondaryFile_(int idx) override;
59 
60  private: // MEMBER DATA -- Implementation details.
62  sqlite3* db_;
63  std::vector<input::EntryNumber> const entrySet_;
73  };
74 } // namespace art
75 
76 // Local Variables:
77 // mode: c++
78 // End:
79 #endif /* art_Framework_IO_Root_RootDelayedReader_h */
bool isAvailableAfterCombine_(ProductID) const override
int openNextSecondaryFile_(int idx) override
RootDelayedReader & operator=(RootDelayedReader const &)=delete
std::vector< ProductProvenance > readProvenance_() const override
cet::exempt_ptr< input::BranchMap const > branches_
std::vector< input::EntryNumber > const entrySet_
RootDelayedReader(RootDelayedReader const &)=delete
cet::exempt_ptr< RootInputFile > primaryFile_
void setPrincipal_(cet::exempt_ptr< Principal >) override
signed __int64 int64_t
Definition: stdint.h:131
BranchType
Definition: BranchType.h:18
cet::exempt_ptr< Principal > principal_
cet::exempt_ptr< BranchIDLists const > branchIDLists_
std::unique_ptr< EDProduct > getProduct_(Group const *, ProductID, RangeSet &) const override
FileFormatVersion fileFormatVersion_