Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:03:48

0001 /*----------------------------------------------------------------------
0002 ----------------------------------------------------------------------*/
0003 
0004 #include <cerrno>
0005 
0006 #include "DataFormats/Provenance/interface/LuminosityBlockAuxiliary.h"
0007 #include "DataFormats/Provenance/interface/RunAuxiliary.h"
0008 #include "DataFormats/Provenance/interface/ProductRegistry.h"
0009 #include "DataFormats/Provenance/interface/ProductResolverIndexHelper.h"
0010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0012 #include "FWCore/Framework/interface/EventPrincipal.h"
0013 #include "FWCore/Framework/interface/LuminosityBlock.h"
0014 #include "FWCore/Framework/interface/Run.h"
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/ExceptionHelpers.h"
0017 #include "FWCore/Sources/interface/ProducerSourceBase.h"
0018 
0019 namespace edm {
0020   ProducerSourceBase::ProducerSourceBase(ParameterSet const& pset, InputSourceDescription const& desc, bool realData)
0021       : IDGeneratorSourceBase<PuttableSourceBase>(pset, desc, realData) {}
0022 
0023   ProducerSourceBase::~ProducerSourceBase() noexcept(false) {}
0024 
0025   void ProducerSourceBase::readEvent_(EventPrincipal& eventPrincipal) {
0026     doReadEvent(eventPrincipal, [this](auto& eventPrincipal) {
0027       Event e(eventPrincipal, moduleDescription(), nullptr);
0028       e.setProducer(this, nullptr);
0029       produce(e);
0030       e.commit_(std::vector<ProductResolverIndex>());
0031     });
0032   }
0033 }  // namespace edm