CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/EventFilter/ShmBuffer/interface/FUShmDqmCell.h

Go to the documentation of this file.
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