CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/EventFilter/ShmBuffer/interface/FUShmRecoCell.h

Go to the documentation of this file.
00001 #ifndef FUSHMRECOCELL_H
00002 #define FUSHMRECOCELL_H 1
00003 
00004 
00005 namespace evf {
00006 
00007   class FUShmRecoCell
00008   {
00009   public:
00010     //
00011     // construction/destruction
00012     //
00013     FUShmRecoCell(unsigned int payloadSize);
00014     ~FUShmRecoCell();
00015     
00016     
00017     //
00018     // member functions
00019     //
00020     void           initialize(unsigned int index);
00021     
00022     unsigned int   index()       const { return index_; }
00023     unsigned int   rawCellIndex()const { return rawCellIndex_; }
00024     unsigned int   runNumber()   const { return runNumber_; }
00025     unsigned int   evtNumber()   const { return evtNumber_; }
00026     unsigned int   outModId()    const { return outModId_; }
00027     unsigned int   fuProcessId() const { return fuProcessId_; }
00028     unsigned int   fuGuid()      const { return fuGuid_; }
00029     unsigned int   type()        const { return type_; }
00030     
00031     unsigned int   payloadSize() const { return payloadSize_; }
00032     unsigned char* payloadAddr() const;
00033     unsigned int   eventSize()   const { return eventSize_; }
00034     unsigned int   nExpectedEPs() const { return nExpectedEPs_; }
00035     
00036     void           writeInitMsg(unsigned int   outModId,
00037                                 unsigned int   fuProcessId,
00038                                 unsigned int   fuGuid,
00039                                 unsigned char *data,
00040                                 unsigned int   dataSize,
00041                                 unsigned int   nExpectedEPs);
00042     
00043     void           writeEventData(unsigned int   rawCellIndex,
00044                                   unsigned int   runNumber,
00045                                   unsigned int   evtNumber,
00046                                   unsigned int   outModId,
00047                                   unsigned int   fuProcessId,
00048                                   unsigned int   fuGuid,
00049                                   unsigned char *data,
00050                                   unsigned int   dataSize);
00051     
00052     void           writeErrorEvent(unsigned int   rawCellIndex,
00053                                    unsigned int   runNumber,
00054                                    unsigned int   evtNumber,
00055                                    unsigned int   fuProcessId,
00056                                    unsigned char *data,
00057                                    unsigned int   dataSize);
00058     
00059     void           clear();
00060     
00061     
00062     //
00063     // static member functions
00064     //
00065     static unsigned int size(unsigned int payloadSize);
00066     
00067     
00068   private:
00069     //
00070     // member data
00071     //
00072     unsigned int index_;
00073     unsigned int rawCellIndex_;
00074     unsigned int runNumber_;
00075     unsigned int evtNumber_;
00076     unsigned int outModId_;
00077     unsigned int fuProcessId_;
00078     unsigned int fuGuid_;
00079     unsigned int type_;
00080     unsigned int payloadSize_;
00081     unsigned int payloadOffset_;
00082     unsigned int eventSize_;
00083     unsigned int nExpectedEPs_;
00084     
00085   };
00086 
00087   
00088 } // namespace evf
00089 
00090 
00091 #endif