CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/IOPool/Streamer/interface/InitMsgBuilder.h

Go to the documentation of this file.
00001 #ifndef IOPool_Streamer_InitMsgBuilder_h
00002 #define IOPool_Streamer_InitMsgBuilder_h
00003 
00004 #include "IOPool/Streamer/interface/MsgTools.h"
00005 #include "IOPool/Streamer/interface/InitMessage.h"
00006 
00007 // ----------------- init -------------------
00008 
00009 class InitMsgBuilder
00010 {
00011 public:
00012   InitMsgBuilder(void* msg_mem, uint32 size,
00013                  uint32 run, const Version& v,
00014                  const char* release_tag,
00015                  const char* process_name,
00016                  const char* output_module_label,
00017                  uint32 output_module_id,
00018                  const Strings& hlt_names,
00019                  const Strings& hlt_selections,
00020                  const Strings& l1_names,
00021                  uint32 adler32_chksum, const char* host_name);
00022 
00023   uint8* startAddress() const { return buf_; }
00024   void setDataLength(uint32 registry_length);
00025   uint8* dataAddress() const  { return data_addr_; }
00026   uint32 headerSize() const {return data_addr_-buf_;}
00027   uint32 size() const ;
00028   uint32 run() const;  
00029   uint32 bufferSize() const {return size_;}
00030 
00031 private:
00032   uint8* buf_;
00033   uint32 size_;
00034   uint8* data_addr_;
00035 };
00036 
00037 #endif
00038