40 moduleChanger_(nullptr),
41 moduleDescription_(
"Looper",
"looper"),
42 moduleCallingContext_(&moduleDescription_) {}
59 event.setConsumer(
this);
68 e.addContext(
"Calling the 'duringLoop' method of a looper");
114 run.setConsumer(
this);
131 run.setConsumer(
this);
190 esPrefetchAsync(iTask, iImpl, iTrans,
token);
196 Principal const& iPrincipal)
const noexcept {
200 std::vector<ProductResolverIndexAndSkipBit>
const&
items = itemsToGetFrom(iPrincipal.branchType());
204 bool skipCurrentProcess =
item.skipCurrentProcess();
206 iPrincipal.prefetchAsync(iTask, productResolverIndex, skipCurrentProcess,
token, &moduleCallingContext_);
219 auto const& recs = esGetTokenRecordIndicesVector(iTrans);
220 auto const&
items = esGetTokenIndicesVector(iTrans);
227 for (
size_t i = 0;
i !=
items.size(); ++
i) {
229 auto rec = iImpl.findImpl(recs[
i]);
238 return std::set<eventsetup::EventSetupRecordKey>();
void prefetchAsync(WaitingTaskHolder iTask, ServiceToken const &token, Transition iTrans, Principal const &iPrincipal, EventSetupImpl const &iImpl) const noexcept
LuminosityBlockID id() const
void setConsumer(EDConsumerBase const *iConsumer)
void setTimestamp(Timestamp const &v)
Timestamp const & endTime() const
virtual Status endOfLoop(EventSetup const &, unsigned int iCounter)=0
void doEndLuminosityBlock(LuminosityBlockPrincipal &, EventSetupImpl const &, ProcessContext *)
unsigned int ProductResolverIndex
ModuleCallingContext moduleCallingContext_
RunPrincipal const & runPrincipal() const
Status doEndOfLoop(EventSetupImpl const &es)
Timestamp const & time() const
LuminosityBlockPrincipal const & luminosityBlockPrincipal() const
ScheduleInfo const * scheduleInfo() const
This returns a non-zero value after the constructor has been called.
virtual Status duringLoop(Event const &, EventSetup const &, ProcessingController &)=0
virtual void beginLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Called after all event modules have processed the begin of a LuminosityBlock.
void setTransition(Transition v)
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
virtual std::set< eventsetup::EventSetupRecordKey > modifyingRecords() const
Timestamp const & beginTime() const
ModuleDescription moduleDescription_
void setLuminosityBlockIndex(LuminosityBlockIndex const &v)
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const
Status doDuringLoop(EventPrincipal &eventPrincipal, EventSetupImpl const &es, ProcessingController &, StreamContext *)
void esPrefetchAsync(WaitingTaskHolder iTask, EventSetupImpl const &iImpl, Transition iTrans, ServiceToken const &iToken) const noexcept
void doBeginRun(RunPrincipal &, EventSetupImpl const &, ProcessContext *)
void resetRecordPlusDependentRecords(EventSetupRecordKey const &)
Used when we need to force a Record to reset all its proxies.
Timestamp const & beginTime() const
~EDLooperBase() noexcept(false) override
static LuminosityBlockIndex invalidLuminosityBlockIndex()
void setModuleChanger(ModuleChanger *)
edm::propagate_const< std::unique_ptr< ScheduleInfo > > scheduleInfo_
ExceptionToActionTable const * act_table_
void copyInfo(ScheduleInfo const &)
void doBeginLuminosityBlock(LuminosityBlockPrincipal &, EventSetupImpl const &, ProcessContext *)
virtual void beginOfJob()
exception_actions::ActionCodes find(const std::string &category) const
virtual void endRun(Run const &, EventSetup const &)
Called after all event modules have processed the end of a Run.
void prepareForNextLoop(eventsetup::EventSetupProvider *esp)
virtual void beginRun(Run const &, EventSetup const &)
Called after all event modules have processed the begin of a Run.
virtual void startingNewLoop(unsigned int)=0
void setEventID(EventID const &v)
LuminosityBlockIndex index() const
ModuleChanger * moduleChanger()
This only returns a non-zero value during the call to endOfLoop.
edm::propagate_const< ModuleChanger * > moduleChanger_
void doEndRun(RunPrincipal &, EventSetupImpl const &, ProcessContext *)
EventID const & id() const
void setRunIndex(RunIndex const &v)
virtual void attachTo(ActivityRegistry &)
Override this method if you need to monitor the state of the processing.
void edPrefetchAsync(WaitingTaskHolder iTask, ServiceToken const &token, Principal const &iPrincipal) const noexcept
void printCmsExceptionWarning(char const *behavior, cms::Exception const &e)
virtual void endLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Called after all event modules have processed the end of a LuminosityBlock.