45 for (
auto m : m_streamModules) {
56 m_streamModules.resize(iPrealloc.
numberOfStreams(), static_cast<T*>(
nullptr));
64 auto firstMod = m_streamModules[0];
65 if (firstMod->registrationCallback() and m_streamModules.size() > 1) {
69 callbacks.reserve(m_streamModules.size());
71 for (
auto mod : m_streamModules) {
82 firstMod->registerProducts(firstMod, reg, moduleDescription_);
87 std::vector<ProductResolverIndexAndSkipBit>& iIndices)
const {
88 assert(not m_streamModules.empty());
89 m_streamModules[0]->itemsToGet(iType, iIndices);
94 std::vector<ProductResolverIndexAndSkipBit>& iIndices)
const {
95 assert(not m_streamModules.empty());
96 m_streamModules[0]->itemsMayGet(iType, iIndices);
102 assert(not m_streamModules.empty());
103 return m_streamModules[0]->itemsToGetFrom(iType);
106 template <
typename T>
109 assert(not m_streamModules.empty());
110 return m_streamModules[0]->esGetTokenIndicesVector(iTrans);
113 template <
typename T>
116 assert(not m_streamModules.empty());
117 return m_streamModules[0]->esGetTokenRecordIndicesVector(iTrans);
120 template <
typename T>
123 std::vector<ModuleProcessName>& modulesInPreviousProcesses,
125 std::map<std::string, ModuleDescription const*>
const& labelsToDesc,
127 assert(not m_streamModules.empty());
128 return m_streamModules[0]->modulesWhoseProductsAreConsumed(
132 template <
typename T>
134 for (
auto mod : m_streamModules) {
139 template <
typename T>
141 assert(not m_streamModules.empty());
142 return m_streamModules[0]->consumesInfo();
145 template <
typename T>
148 bool iPrefetchMayGet) {
149 for (
auto mod : m_streamModules) {
150 mod->updateLookup(iType, iHelper, iPrefetchMayGet);
153 template <
typename T>
155 for (
auto mod : m_streamModules) {
156 mod->updateLookup(iPI);
160 template <
typename T>
164 for (
auto mod : m_streamModules) {
169 template <
typename T>
172 return m_streamModules[0]->indiciesForPutProducts(iBranchType);
175 template <
typename T>
177 m_streamModules[
id]->beginStream(
id);
179 template <
typename T>
181 m_streamModules[
id]->endStream();
184 template <
typename T>
189 auto mod = m_streamModules[
id];
192 Run r(rp, moduleDescription_, mcc,
false);
203 template <
typename T>
207 auto mod = m_streamModules[
id];
208 Run r(
info, moduleDescription_, mcc,
true);
217 streamEndRunSummary(
mod,
r,
c);
220 template <
typename T>
225 auto mod = m_streamModules[
id];
226 setupLuminosityBlock(
mod, lbp.
index());
236 mod->beginLuminosityBlock(lb,
c);
239 template <
typename T>
243 auto mod = m_streamModules[
id];
252 mod->endLuminosityBlock(lb,
c);
253 streamEndLuminosityBlockSummary(
mod, lb,
c);
256 template <
typename T>
258 template <
typename T>
261 template <
typename T>
264 assert(not m_streamModules.empty());
265 auto mod = m_streamModules[0];
266 mod->registerThinnedAssociations(registry,
helper);