File indexing completed on 2024-09-07 04:36:40
0001 #ifndef IOPool_Streamer_StreamerFileWriter_h
0002 #define IOPool_Streamer_StreamerFileWriter_h
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005
0006 #include "IOPool/Streamer/interface/StreamerOutputFile.h"
0007 #include "IOPool/Streamer/interface/InitMsgBuilder.h"
0008 #include "IOPool/Streamer/interface/EventMsgBuilder.h"
0009 #include "FWCore/Utilities/interface/propagate_const.h"
0010 #include "IOPool/Streamer/interface/InitMessage.h"
0011 #include "IOPool/Streamer/interface/EventMessage.h"
0012 #include "IOPool/Streamer/interface/MsgTools.h"
0013
0014 #include <iostream>
0015 #include <vector>
0016 #include <memory>
0017 #include <string>
0018
0019 namespace edm {
0020 class ParameterSetDescription;
0021 namespace streamer {
0022 class StreamerFileWriter {
0023 public:
0024 explicit StreamerFileWriter(edm::ParameterSet const& ps);
0025 explicit StreamerFileWriter(std::string const& fileName);
0026 ~StreamerFileWriter();
0027
0028 static void fillDescription(ParameterSetDescription& desc);
0029
0030 void doOutputHeader(InitMsgBuilder const& init_message);
0031 void doOutputHeader(InitMsgView const& init_message);
0032
0033 void doOutputEvent(EventMsgBuilder const& msg);
0034 void doOutputEvent(EventMsgView const& msg);
0035
0036 void start() {}
0037 void stop() {}
0038
0039 uint32 get_adler32() const { return stream_writer_->adler32(); }
0040
0041 private:
0042 edm::propagate_const<std::unique_ptr<StreamerOutputFile>> stream_writer_;
0043 };
0044 }
0045 }
0046 #endif