/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef EVENTREADOUTFORMAT_EVENTHEADER_H 00002 #define EVENTREADOUTFORMAT_EVENTHEADER_H 00003 00004 /* 00005 * EventHeader.h 00006 * EventReadoutFormat 00007 * 00008 * Created by Simon Patton on 7/19/10. 00009 * Copyright 2010 DayaBay Collaboration. All rights reserved. 00010 * 00011 */ 00012 #include "EventReadoutFormat/EventBuffer.h" 00013 00014 namespace DybDaq { 00015 00016 class EventHeader : public EventBuffer { 00017 00018 public: 00019 00023 EventHeader(const unsigned int site, 00024 const unsigned int detector, 00025 const unsigned int run, 00026 const unsigned int event, 00027 const unsigned int dataType, 00028 const bool cbltWrapping, 00029 const bool rawCblt, 00030 const bool triggerMismatch, 00031 const bool invalidData, 00032 const bool rpcSortDisabled, 00033 const bool dataSortTimeout, 00034 const EventTraits& traits) ; 00035 00039 EventHeader(const ByteBuffer& byteBuffer); 00040 00044 virtual ~EventHeader(); 00045 00049 virtual const DaqTraits& daqTraits() const; 00050 00054 unsigned int majorVersion() const; 00055 00059 unsigned int minorVersion() const; 00060 00064 unsigned int headerSize() const; 00065 00069 unsigned int totalSize() const; 00070 00074 unsigned int site() const; 00075 00079 unsigned int detector() const; 00080 00084 unsigned int run() const; 00085 00089 unsigned int event() const; 00090 00094 unsigned int dataType() const; 00095 00099 bool rpcSortDisabled() const; 00100 00104 bool cbltWrapping() const; 00105 00109 bool rawCblt() const; 00110 00114 bool dataSortTimeout() const; 00115 00119 bool triggerMismatch() const; 00120 00124 bool invalidData() const; 00125 00129 virtual unsigned int bufferSize() const; 00130 00134 void setTotalSize(const unsigned int totalLength); 00135 00136 protected: 00137 00141 virtual unsigned int formatComponent() const; 00142 00143 private: 00144 00148 EventHeader(); 00149 00153 EventHeader(EventHeader& rhs); 00154 00158 EventHeader& operator=(EventHeader& rhs); 00159 00163 void setMajorVersion(const unsigned int majorVersion); 00164 00168 void setMinorVersion(const unsigned int minorVersion); 00169 00173 void setHeaderSize(const unsigned int headerLength); 00174 00178 void setSite(const unsigned int site); 00179 00183 void setDetector(const unsigned int detector); 00184 00188 void setRun(const unsigned int run); 00189 00193 void setEvent(const unsigned int event); 00194 00198 void setDataType(const unsigned int dataType); 00199 00203 void setRpcSortDisabled(const bool disabled); 00204 00208 void setCbltWrapping(const bool cbltWrapping); 00209 00213 void setRawCblt(const bool rawCblt); 00214 00218 void setDataSortTimeout(bool timedOut) ; 00219 00223 void setTriggerMismatch(const bool triggerMismatch); 00224 00228 void setInvalidData(const bool invalidData); 00229 00235 const EventTraits* m_traits; 00236 }; 00237 00238 } 00239 00240 #endif // EVENTREADOUTFORMAT_EVENTHEADER_H