CMS 3D CMS Logo

ProducerSourceBase.cc
Go to the documentation of this file.
1 /*----------------------------------------------------------------------
2 ----------------------------------------------------------------------*/
3 
4 #include <cerrno>
5 
18 
19 namespace edm {
21  : IDGeneratorSourceBase<PuttableSourceBase>(pset, desc, realData) {}
22 
24 
26  doReadEvent(eventPrincipal, [this](auto& eventPrincipal) {
27  Event e(eventPrincipal, moduleDescription(), nullptr);
28  e.setProducer(this, nullptr);
29  produce(e);
30  e.commit_(std::vector<ProductResolverIndex>());
31  });
32  }
33 } // namespace edm
void doReadEvent(EventPrincipal &eventPrincipal, F &&f)
void readEvent_(EventPrincipal &eventPrincipal) override
ProducerSourceBase(ParameterSet const &pset, InputSourceDescription const &desc, bool realData)
void commit_(std::vector< edm::ProductResolverIndex > const &iShouldPut, ParentageID *previousParentageId=0)
Definition: Event.cc:146
#define noexcept
void setProducer(ProducerBase const *iProd, std::vector< BranchID > *previousParentage, std::vector< BranchID > *gotBranchIDsFromAcquire=0)
Definition: Event.cc:64
~ProducerSourceBase()(false) override
HLT enums.
virtual void produce(Event &e)=0
ModuleDescription const & moduleDescription() const
Accessor for &#39;module&#39; description.
Definition: InputSource.h:198