44 for(
auto m: m_streamModules) {
57 static_cast<T*
>(
nullptr));
64 auto firstMod = m_streamModules[0];
65 if(firstMod->registrationCallback() and m_streamModules.size()>1) {
68 std::vector<std::function<void(BranchDescription const&)>>
callbacks;
69 callbacks.reserve(m_streamModules.size());
71 for(
auto mod: m_streamModules) {
72 callbacks.push_back(
mod->registrationCallback());
76 firstMod->callWhenNewProductsRegistered([callbacks](
BranchDescription const& iBD) {
77 for(
auto c: callbacks) {
82 firstMod->registerProducts(firstMod,reg,moduleDescription_);
88 assert(not m_streamModules.empty());
89 m_streamModules[0]->itemsToGet(iType,iIndices);
95 assert(not m_streamModules.empty());
96 m_streamModules[0]->itemsMayGet(iType,iIndices);
100 std::vector<edm::ProductHolderIndexAndSkipBit>
const&
102 assert(not m_streamModules.empty());
103 return m_streamModules[0]->itemsToGetFromEvent();
106 template<
typename T>
109 std::vector<const char*>& oModuleLabels)
const {
110 assert(not m_streamModules.empty());
111 return m_streamModules[0]->modulesDependentUpon(iProcessName, oModuleLabels);
114 template<
typename T>
118 for(
auto mod: m_streamModules) {
119 mod->updateLookup(iType,iHelper);
123 template<
typename T>
129 template<
typename T>
132 m_streamModules[id]->beginStream(
id);
134 template<
typename T>
137 m_streamModules[id]->endStream();
140 template<
typename T>
147 auto mod = m_streamModules[id];
150 Run r(rp, moduleDescription_, mcc);
155 template<
typename T>
162 auto mod = m_streamModules[id];
163 Run r(rp, moduleDescription_, mcc);
166 streamEndRunSummary(
mod,r,c);
169 template<
typename T>
175 auto mod = m_streamModules[id];
176 setupLuminosityBlock(
mod,lbp.
index());
180 mod->beginLuminosityBlock(lb, c);
183 template<
typename T>
190 auto mod = m_streamModules[id];
193 mod->endLuminosityBlock(lb, c);
194 streamEndLuminosityBlockSummary(
mod,lb, c);
197 template<
typename T>
200 template<
typename T>
203 template<
typename T>
206 for(
auto m: m_streamModules) {
207 m->preForkReleaseResources();
210 template<
typename T>
213 for(
auto m: m_streamModules) {
214 m->postForkReacquireResources(iChildIndex,iNumberOfChildren);
218 template<
typename T>
222 assert(not m_streamModules.empty());
223 auto mod = m_streamModules[0];
224 mod->registerThinnedAssociations(registry, helper);
void setConsumer(EDConsumerBase const *iConsumer)
void doRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
void doStreamEndRun(StreamID id, RunPrincipal &ep, EventSetup const &c, ModuleCallingContext const *)
void doRespondToOpenInputFile(FileBlock const &fb)
LuminosityBlockIndex index() const
void doPreallocate(PreallocationConfiguration const &)
void doPreForkReleaseResources()
void doStreamBeginLuminosityBlock(StreamID id, LuminosityBlockPrincipal &ep, EventSetup const &c, ModuleCallingContext const *)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those callbacks
virtual ~ProducingModuleAdaptorBase()
void itemsToGet(BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
void registerProductsAndCallbacks(ProducingModuleAdaptorBase const *, ProductRegistry *reg)
void doEndStream(StreamID id)
void doStreamEndLuminosityBlock(StreamID id, LuminosityBlockPrincipal &ep, EventSetup const &c, ModuleCallingContext const *)
ProducingModuleAdaptorBase()
void doBeginStream(StreamID id)
void itemsMayGet(BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
void updateLookup(BranchType iBranchType, ProductHolderIndexHelper const &)
unsigned int numberOfStreams() const
std::vector< ProductHolderIndexAndSkipBit > const & itemsToGetFromEvent() const
void doRespondToCloseInputFile(FileBlock const &fb)
void doStreamBeginRun(StreamID id, RunPrincipal &ep, EventSetup const &c, ModuleCallingContext const *)
T mod(const T &a, const T &b)
void setConsumer(EDConsumerBase const *iConsumer)
void modulesDependentUpon(const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
void doPostForkReacquireResources(unsigned int iChildIndex, unsigned int iNumberOfChildren)