CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/IOPool/Streamer/interface/StreamDQMOutputFile.h

Go to the documentation of this file.
00001 #ifndef IOPool_Streamer_StreamDQMOutputFile_h
00002 #define IOPool_Streamer_StreamDQMOutputFile_h
00003 
00006 #include "IOPool/Streamer/interface/MsgTools.h"
00007 
00008 #include "IOPool/Streamer/interface/DQMEventMessage.h"
00009 #include "IOPool/Streamer/interface/DQMEventMsgBuilder.h"
00010 
00011 #include "IOPool/Streamer/interface/StreamerFileIO.h"
00012 
00013 #include "boost/shared_ptr.hpp"
00014 
00015 #include <exception>
00016 #include <fstream>
00017 #include <iostream>
00018 
00019 class StreamDQMOutputFile
00023   {
00024   public:
00025      explicit StreamDQMOutputFile(const std::string& name);
00029      ~StreamDQMOutputFile();
00030 
00036      uint64 write(const DQMEventMsgView&);
00037      uint64 write(const DQMEventMsgBuilder&);
00038 
00039       //Returns how many bytes were written out
00040       //uint32 writeEOF(uint32 statusCode,
00041                     //const std::vector<uint32>& hltStats);
00042 
00043   private:
00044      void writeDQMEventHeader(const DQMEventMsgView& inview);
00045      void writeDQMEventHeader(const DQMEventMsgBuilder& inview);
00046      boost::shared_ptr<OutputFile> dqmstreamfile_;
00047 };
00048 
00049 #endif