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 }