1 #ifndef FWCore_Framework_UnscheduledCallProducer_h
2 #define FWCore_Framework_UnscheduledCallProducer_h
27 #include <unordered_map>
33 class ModuleCallingContext;
59 template <
typename T,
typename U>
61 typename T::Context
const* topContext, U
const* context)
const {
67 worker->doWork<
T>(
p, es, streamID, parentContext, topContext);
70 std::ostringstream ost;
72 ost <<
"Calling event method";
74 else if (T::begin_ && T::branchType_ ==
InRun) {
75 ost <<
"Calling beginRun";
77 else if (T::begin_ && T::branchType_ ==
InLumi) {
78 ost <<
"Calling beginLuminosityBlock";
80 else if (!T::begin_ && T::branchType_ ==
InLumi) {
81 ost <<
"Calling endLuminosityBlock";
83 else if (!T::begin_ && T::branchType_ ==
InRun) {
84 ost <<
"Calling endRun";
88 ost <<
"Calling unknown function";
90 ost <<
" for unscheduled module " << worker->description().moduleName()
91 <<
"/'" << worker->description().moduleLabel() <<
"'";
94 ost <<
"Processing " << p.id();
PostModuleEventDelayedGet postModuleEventDelayedGetSignal_
PreModuleEventDelayedGet preModuleEventDelayedGetSignal_
UnscheduledCallProducer(ActivityRegistry &iReg)
std::vector< Worker * > worker_container
void addWorker(Worker *aWorker)
const_iterator end() const
worker_container unscheduledWorkers_
UnscheduledAuxiliary aux_
UnscheduledAuxiliary const & auxiliary() const
void addContext(std::string const &context)
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> preModuleDelayedGetSignal_
void setEventSetup(EventSetup const *iSetup)
void runNow(typename T::MyPrincipal &p, EventSetup const &es, StreamID streamID, typename T::Context const *topContext, U const *context) const
void setEventSetup(EventSetup const &iSetup)
worker_container::const_iterator const_iterator
const_iterator begin() const
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> postModuleDelayedGetSignal_