/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
IOPool/Streamer/interface/StreamerOutputModuleBase.h
56 строк
2 KB
Chris Jones
Improve behavior of streamer system
09 янв 2025, 22:43
09 янв 2025, 22:43
bd2576d
Код
Авторство
О чём код?
#ifndef IOPool_Streamer_StreamerOutputModuleBase_h #define IOPool_Streamer_StreamerOutputModuleBase_h #include "IOPool/Streamer/interface/StreamerOutputModuleCommon.h" #include "FWCore/Framework/interface/one/OutputModule.h" #include "FWCore/Utilities/interface/EDGetToken.h" #include "IOPool/Streamer/interface/MsgTools.h" #include "DataFormats/Streamer/interface/StreamedProducts.h" //#include "IOPool/Streamer/interface/StreamSerializer.h" //#include <memory> //#include <vector> namespace edm { class ParameterSetDescription; typedef detail::TriggerResultsBasedEventSelector::handle_t Trig; namespace streamer { class InitMsgBuilder; class EventMsgBuilder; class StreamerOutputModuleBase : public one::OutputModule<one::WatchRuns, one::WatchLuminosityBlocks>, StreamerOutputModuleCommon { public: explicit StreamerOutputModuleBase(ParameterSet const& ps); ~StreamerOutputModuleBase() override; static void fillDescription(ParameterSetDescription& desc); private: void beginRun(RunForOutput const&) override; void endRun(RunForOutput const&) override; void beginJob() override; void endJob() override; void writeRun(RunForOutput const&) override; void writeLuminosityBlock(LuminosityBlockForOutput const&) override; void write(EventForOutput const& e) override; virtual void start() = 0; virtual void stop() = 0; virtual void doOutputHeader(InitMsgBuilder const& init_message) = 0; virtual void doOutputEvent(EventMsgBuilder const& msg) = 0; Trig getTriggerResults(EDGetTokenT<TriggerResults> const& token, EventForOutput const& e) const; private: edm::EDGetTokenT<edm::TriggerResults> trToken_; edm::EDGetTokenT<SendJobHeader::ParameterSetMap> psetToken_; edm::ProcessHistoryID lastHistory_; bool lastCallWasBeginRun_ = false; bool initWritten_ = false; }; //end-of-class-def } // namespace streamer } // namespace edm #endif