1 #ifndef art_Framework_IO_Root_RootInputFile_h 2 #define art_Framework_IO_Root_RootInputFile_h 15 #include "canvas/Persistency/Provenance/Compatibility/BranchIDList.h" 31 #include "cetlib/exempt_ptr.h" 32 #include "cetlib/sqlite/Connection.h" 44 class DuplicateChecker;
45 class EventRangeHandler;
46 class GroupSelectorRules;
47 class MasterProductRegistry;
63 std::string
const& catalogName,
65 std::string
const& logicalFileName,
66 std::unique_ptr<TFile>&& filePtr,
69 bool compactSubRunRanges,
71 unsigned int treeCacheSize,
72 int64_t treeMaxVirtualSize,
73 int64_t saveMemoryObjectThreashold,
74 bool delayedReadEventProducts,
75 bool delayedReadSubRunProducts,
76 bool delayedReadRunProducts,
81 std::shared_ptr<DuplicateChecker> duplicateChecker,
82 bool dropDescendantsOfDroppedProducts,
83 bool readIncomingParameterSets,
84 cet::exempt_ptr<RootInputFile> primaryFile,
91 void close(
bool reallyClose);
94 std::unique_ptr<RunPrincipal>
readRun();
95 std::unique_ptr<SubRunPrincipal>
readSubRun(cet::exempt_ptr<RunPrincipal>);
96 std::unique_ptr<EventPrincipal>
readEvent();
143 template <BranchType BT>
150 template <BranchType BT,
typename ID>
212 std::shared_ptr<FileIndex>
286 std::array<AvailableProducts_t, NumBranchTypes>
289 template <BranchType BT>
293 using AUX = std::tuple_element_t<BT, decltype(auxiliaries_)>;
298 template <BranchType BT>
299 std::unique_ptr<RangeSetHandler>
302 using AUX = std::tuple_element_t<BT, decltype(auxiliaries_)>;
313 bool dropDescendants,
326 cet::exempt_ptr<RunPrincipal>);
328 std::pair<EntryNumbers, bool>
const&);
358 std::tuple<EventAuxiliary, SubRunAuxiliary, RunAuxiliary, ResultsAuxiliary>
369 std::shared_ptr<History>
history_{std::make_shared<History>()};
std::map< BranchKey, BranchDescription > ProductList
const_iterator findPosition(EventID const &eID) const
static ProductTables invalid()
std::vector< Element >::const_iterator const_iterator
IDNumber_t< Level::Event > EventNumber_t
IDNumber_t< Level::Run > RunNumber_t