1 #ifndef gallery_DataGetterHelper_h 2 #define gallery_DataGetterHelper_h 41 #include "canvas_root_io/Utilities/DictionaryChecker.h" 58 class EDProductGetter;
59 class BranchDescription;
68 class EventHistoryGetter;
76 std::shared_ptr<EventHistoryGetter> historyGetter);
83 ProductWithID getByLabel(std::type_info
const& typeInfoOfWrapper,
86 std::vector<art::InputTag> getInputTags(
87 std::type_info
const& typeInfoOfWrapper)
const;
89 std::vector<ProductWithID> getManyByType(
90 std::type_info
const& typeInfoOfWrapper)
const;
94 void updateFile(TFile* iFile, TTree* iTree,
bool initializeTheCache);
96 void initializeTTreeCache();
101 void initializeForProcessHistory()
const;
103 void addProcess(
std::string const& processName)
const;
106 unsigned int processIndex,
108 bool initializeTheCache =
false)
const;
125 unsigned int infoIndex)
const;
131 std::vector<IndexProductIDPair>
const& processIndexToProductID,
132 unsigned int processIndex)
const;
134 void updateBranchDataIndexOrderedByHistory(
137 std::vector<art::BranchDescription const*> getProductDescriptions(
141 unsigned int processIndex)
const;
151 TTree* tree_{
nullptr};
155 mutable bool initializedForProcessHistory_{
false};
159 mutable std::vector<std::string> previousProcessHistoryNames_{};
164 mutable std::vector<std::string> processNames_{};
168 mutable std::map<std::string, unsigned int> processNameToProcessIndex_{};
171 mutable std::vector<unsigned int> orderedProcessIndexes_{};
178 mutable std::vector<InfoForTypeLabelInstance> infoVector_{};
182 mutable std::map<TypeLabelInstanceKey, unsigned int> infoMap_{};
199 mutable std::map<art::ProductID, std::unique_ptr<BranchData>>
207 mutable std::set<art::ProductID> branchDataMissingSet_{};
212 mutable art::root::DictionaryChecker dictChecker_{};
const std::string instance
EventNavigator const * eventNavigator_
std::pair< art::EDProduct const *, art::ProductID > ProductWithID
std::shared_ptr< EventHistoryGetter > historyGetter_