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
00012
00013 FUShmRecoCell(unsigned int payloadSize);
00014 ~FUShmRecoCell();
00015
00016
00017
00018
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
00064
00065 static unsigned int size(unsigned int payloadSize);
00066
00067
00068 private:
00069
00070
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 }
00089
00090
00091 #endif