Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:10:27

0001 #ifndef IOPool_Streamer_InitMsgBuilder_h
0002 #define IOPool_Streamer_InitMsgBuilder_h
0003 
0004 #include "IOPool/Streamer/interface/MsgTools.h"
0005 #include "IOPool/Streamer/interface/InitMessage.h"
0006 
0007 // ----------------- init -------------------
0008 
0009 class InitMsgBuilder {
0010 public:
0011   InitMsgBuilder(void* msg_mem,
0012                  uint32 size,
0013                  uint32 run,
0014                  const Version& v,
0015                  const char* release_tag,
0016                  const char* process_name,
0017                  const char* output_module_label,
0018                  uint32 output_module_id,
0019                  const Strings& hlt_names,
0020                  const Strings& hlt_selections,
0021                  const Strings& l1_names,
0022                  uint32 adler32_chksum);
0023 
0024   uint8* startAddress() const { return buf_; }
0025   void setDataLength(uint32 registry_length);
0026   uint8* dataAddress() const { return data_addr_; }
0027   uint32 headerSize() const { return data_addr_ - buf_; }
0028   uint32 size() const;
0029   uint32 run() const; /** Required by EOF Record Builder */
0030   uint32 bufferSize() const { return size_; }
0031 
0032 private:
0033   uint8* buf_;
0034   uint32 size_;
0035   uint8* data_addr_;
0036 };
0037 
0038 #endif