00001 #ifndef FUSHMDQMCELL_H 00002 #define FUSHMDQMCELL_H 1 00003 00004 00005 namespace evf { 00006 00007 class FUShmDqmCell 00008 { 00009 public: 00010 // 00011 // construction/destruction 00012 // 00013 FUShmDqmCell(unsigned int payloadSize); 00014 ~FUShmDqmCell(); 00015 00016 00017 // 00018 // member functions 00019 // 00020 void initialize(unsigned int index); 00021 00022 unsigned int index() const { return index_; } 00023 unsigned int runNumber() const { return runNumber_; } 00024 unsigned int evtAtUpdate() const { return evtAtUpdate_; } 00025 unsigned int folderId() const { return folderId_; } 00026 unsigned int fuProcessId() const { return fuProcessId_; } 00027 unsigned int fuGuid() const { return fuGuid_; } 00028 00029 unsigned int payloadSize() const { return payloadSize_; } 00030 unsigned char* payloadAddr() const; 00031 unsigned int eventSize() const { return eventSize_; } 00032 00033 void writeData(unsigned int runNumber, 00034 unsigned int evtAtUpdate, 00035 unsigned int folderId, 00036 unsigned int fuProcessId, 00037 unsigned int fuGuid, 00038 unsigned char *data, 00039 unsigned int dataSize); 00040 00041 void clear(); 00042 00043 00044 // 00045 // static member functions 00046 // 00047 static unsigned int size(unsigned int payloadSize); 00048 00049 00050 private: 00051 // 00052 // member data 00053 // 00054 unsigned int index_; 00055 unsigned int runNumber_; 00056 unsigned int evtAtUpdate_; 00057 unsigned int folderId_; 00058 unsigned int fuProcessId_; 00059 unsigned int fuGuid_; 00060 unsigned int payloadSize_; 00061 unsigned int payloadOffset_; 00062 unsigned int eventSize_; 00063 00064 }; 00065 00066 00067 } // namespace evf 00068 00069 00070 #endif