44 for (
auto m : m_streamModules) {
55 m_streamModules.resize(iPrealloc.
numberOfStreams(), static_cast<T*>(
nullptr));
63 auto firstMod = m_streamModules[0];
64 if (firstMod->registrationCallback() and m_streamModules.size() > 1) {
68 callbacks.reserve(m_streamModules.size());
70 for (
auto mod : m_streamModules) {
81 firstMod->registerProducts(firstMod, reg, moduleDescription_);
86 std::vector<ProductResolverIndexAndSkipBit>& iIndices)
const {
87 assert(not m_streamModules.empty());
88 m_streamModules[0]->itemsToGet(iType, iIndices);
93 std::vector<ProductResolverIndexAndSkipBit>& iIndices)
const {
94 assert(not m_streamModules.empty());
95 m_streamModules[0]->itemsMayGet(iType, iIndices);
101 assert(not m_streamModules.empty());
102 return m_streamModules[0]->itemsToGetFrom(iType);
105 template <
typename T>
108 assert(not m_streamModules.empty());
109 return m_streamModules[0]->esGetTokenIndicesVector(iTrans);
112 template <
typename T>
115 assert(not m_streamModules.empty());
116 return m_streamModules[0]->esGetTokenRecordIndicesVector(iTrans);
119 template <
typename T>
121 std::vector<ModuleDescription const*>&
modules,
123 std::map<std::string, ModuleDescription const*>
const& labelsToDesc,
125 assert(not m_streamModules.empty());
126 return m_streamModules[0]->modulesWhoseProductsAreConsumed(
modules, preg, labelsToDesc,
processName);
129 template <
typename T>
131 for (
auto mod : m_streamModules) {
136 template <
typename T>
138 assert(not m_streamModules.empty());
139 return m_streamModules[0]->consumesInfo();
142 template <
typename T>
145 bool iPrefetchMayGet) {
146 for (
auto mod : m_streamModules) {
147 mod->updateLookup(iType, iHelper, iPrefetchMayGet);
150 template <
typename T>
152 for (
auto mod : m_streamModules) {
153 mod->updateLookup(iPI);
157 template <
typename T>
161 for (
auto mod : m_streamModules) {
166 template <
typename T>
169 return m_streamModules[0]->indiciesForPutProducts(iBranchType);
172 template <
typename T>
174 m_streamModules[
id]->beginStream(
id);
176 template <
typename T>
178 m_streamModules[
id]->endStream();
181 template <
typename T>
186 auto mod = m_streamModules[
id];
189 Run r(rp, moduleDescription_, mcc,
false);
196 template <
typename T>
200 auto mod = m_streamModules[
id];
201 Run r(
info, moduleDescription_, mcc,
true);
206 streamEndRunSummary(
mod,
r,
c);
209 template <
typename T>
214 auto mod = m_streamModules[
id];
215 setupLuminosityBlock(
mod, lbp.
index());
223 mod->beginLuminosityBlock(lb,
c);
226 template <
typename T>
230 auto mod = m_streamModules[
id];
237 mod->endLuminosityBlock(lb,
c);
238 streamEndLuminosityBlockSummary(
mod, lb,
c);
241 template <
typename T>
243 template <
typename T>
246 template <
typename T>
249 assert(not m_streamModules.empty());
250 auto mod = m_streamModules[0];
251 mod->registerThinnedAssociations(registry,
helper);