43 for (
auto m : m_streamModules) {
54 m_streamModules.resize(iPrealloc.
numberOfStreams(), static_cast<T*>(
nullptr));
62 auto firstMod = m_streamModules[0];
63 if (firstMod->registrationCallback() and m_streamModules.size() > 1) {
67 callbacks.reserve(m_streamModules.size());
69 for (
auto mod : m_streamModules) {
80 firstMod->registerProducts(firstMod, reg, moduleDescription_);
85 std::vector<ProductResolverIndexAndSkipBit>& iIndices)
const {
86 assert(not m_streamModules.empty());
87 m_streamModules[0]->itemsToGet(iType, iIndices);
92 std::vector<ProductResolverIndexAndSkipBit>& iIndices)
const {
93 assert(not m_streamModules.empty());
94 m_streamModules[0]->itemsMayGet(iType, iIndices);
100 assert(not m_streamModules.empty());
101 return m_streamModules[0]->itemsToGetFrom(iType);
104 template <
typename T>
106 std::vector<ModuleDescription const*>&
modules,
108 std::map<std::string, ModuleDescription const*>
const& labelsToDesc,
110 assert(not m_streamModules.empty());
111 return m_streamModules[0]->modulesWhoseProductsAreConsumed(
modules, preg, labelsToDesc,
processName);
114 template <
typename T>
116 for (
auto mod : m_streamModules) {
121 template <
typename T>
123 assert(not m_streamModules.empty());
124 return m_streamModules[0]->consumesInfo();
127 template <
typename T>
130 bool iPrefetchMayGet) {
131 for (
auto mod : m_streamModules) {
132 mod->updateLookup(iType, iHelper, iPrefetchMayGet);
135 template <
typename T>
137 for (
auto mod : m_streamModules) {
138 mod->updateLookup(iPI);
142 template <
typename T>
146 for (
auto mod : m_streamModules) {
151 template <
typename T>
154 return m_streamModules[0]->indiciesForPutProducts(iBranchType);
157 template <
typename T>
159 m_streamModules[
id]->beginStream(
id);
161 template <
typename T>
163 m_streamModules[
id]->endStream();
166 template <
typename T>
171 auto mod = m_streamModules[
id];
174 Run r(rp, moduleDescription_, mcc,
false);
180 template <
typename T>
185 auto mod = m_streamModules[
id];
186 Run r(rp, moduleDescription_, mcc,
true);
191 streamEndRunSummary(
mod,
r,
c);
194 template <
typename T>
199 auto mod = m_streamModules[
id];
200 setupLuminosityBlock(
mod, lbp.
index());
208 mod->beginLuminosityBlock(lb,
c);
211 template <
typename T>
216 auto mod = m_streamModules[
id];
223 mod->endLuminosityBlock(lb,
c);
224 streamEndLuminosityBlockSummary(
mod, lb,
c);
227 template <
typename T>
229 template <
typename T>
232 template <
typename T>
235 assert(not m_streamModules.empty());
236 auto mod = m_streamModules[0];
237 mod->registerThinnedAssociations(registry,
helper);