40 moduleChanger_(nullptr),
41 moduleDescription_(
"Looper",
"looper"),
42 moduleCallingContext_(&moduleDescription_) {}
59 event.setConsumer(
this);
68 e.
addContext(
"Calling the 'duringLoop' method of a looper");
202 for (
auto const&
item : items) {
204 bool skipCurrentProcess =
item.skipCurrentProcess();
227 for (
size_t i = 0;
i !=
items.size(); ++
i) {
238 return std::set<eventsetup::EventSetupRecordKey>();
RunPrincipal const & runPrincipal() const
void setConsumer(EDConsumerBase const *iConsumer)
void setTimestamp(Timestamp const &v)
virtual Status endOfLoop(EventSetup const &, unsigned int iCounter)=0
void doEndLuminosityBlock(LuminosityBlockPrincipal &, EventSetupImpl const &, ProcessContext *)
unsigned int ProductResolverIndex
ModuleCallingContext moduleCallingContext_
Timestamp const & beginTime() const
void prefetchAsync(WaitingTaskHolder iTask, ESProxyIndex iProxyIndex, EventSetupImpl const *, ServiceToken const &, ESParentContext) const
prefetch the data to setup for subsequent calls to getImplementation
EventID const & id() const
Status doEndOfLoop(EventSetupImpl const &es)
std::string const & category() const
exception_actions::ActionCodes find(const std::string &category) const
LuminosityBlockIndex index() const
std::vector< ESProxyIndex > const & esGetTokenIndicesVector(edm::Transition iTrans) const
virtual Status duringLoop(Event const &, EventSetup const &, ProcessingController &)=0
virtual std::set< eventsetup::EventSetupRecordKey > modifyingRecords() const
virtual void beginLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Called after all event modules have processed the begin of a LuminosityBlock.
void prefetchAsync(WaitingTaskHolder iTask, ServiceToken const &token, Transition iTrans, Principal const &iPrincipal, EventSetupImpl const &iImpl) const
void setTransition(Transition v)
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Timestamp const & time() const
void prefetchAsync(WaitingTaskHolder waitTask, ProductResolverIndex index, bool skipCurrentProcess, ServiceToken const &token, ModuleCallingContext const *mcc) const
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom(BranchType iType) const
ModuleDescription moduleDescription_
void setLuminosityBlockIndex(LuminosityBlockIndex const &v)
LuminosityBlockPrincipal const & luminosityBlockPrincipal() const
Timestamp const & beginTime() const
BranchType const & branchType() const
Status doDuringLoop(EventPrincipal &eventPrincipal, EventSetupImpl const &es, ProcessingController &, StreamContext *)
Timestamp const & endTime() const
void edPrefetchAsync(WaitingTaskHolder iTask, ServiceToken const &token, Principal const &iPrincipal) const
void doBeginRun(RunPrincipal &, EventSetupImpl const &, ProcessContext *)
void resetRecordPlusDependentRecords(EventSetupRecordKey const &)
Used when we need to force a Record to reset all its proxies.
~EDLooperBase() noexcept(false) override
ScheduleInfo const * scheduleInfo() const
This returns a non-zero value after the constructor has been called.
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()
void addContext(std::string const &context)
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)
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector(edm::Transition iTrans) const
void esPrefetchAsync(WaitingTaskHolder iTask, EventSetupImpl const &iImpl, Transition iTrans, ServiceToken const &iToken) 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 *)
void setConsumer(EDConsumerBase const *iConsumer)
eventsetup::EventSetupRecordImpl const * findImpl(const eventsetup::EventSetupRecordKey &) const
void setRunIndex(RunIndex const &v)
virtual void attachTo(ActivityRegistry &)
Override this method if you need to monitor the state of the processing.
LuminosityBlockID id() const
void printCmsExceptionWarning(char const *behavior, cms::Exception const &e)
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
virtual void endLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Called after all event modules have processed the end of a LuminosityBlock.