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>
110 for(
auto mod: m_streamModules) {
111 mod->updateLookup(iType,iHelper);
115 template<
typename T>
121 template<
typename T>
124 m_streamModules[id]->beginStream(
id);
126 template<
typename T>
129 m_streamModules[id]->endStream();
132 template<
typename T>
139 auto mod = m_streamModules[id];
142 Run r(rp, moduleDescription_, mcc);
147 template<
typename T>
154 auto mod = m_streamModules[id];
155 Run r(rp, moduleDescription_, mcc);
158 streamEndRunSummary(
mod,r,c);
161 template<
typename T>
167 auto mod = m_streamModules[id];
168 setupLuminosityBlock(
mod,lbp.
index());
172 mod->beginLuminosityBlock(lb, c);
175 template<
typename T>
182 auto mod = m_streamModules[id];
185 mod->endLuminosityBlock(lb, c);
186 streamEndLuminosityBlockSummary(
mod,lb, c);
189 template<
typename T>
192 template<
typename T>
195 template<
typename T>
198 template<
typename T>
void setConsumer(EDConsumerBase const *iConsumer)
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 doPostForkReacquireResources(unsigned int iChildIndex, unsigned int iNumberOfChildren)