00001 #ifndef LTBREADOUTFORMAT_LTBHEAD_H 00002 #define LTBREADOUTFORMAT_LTBHEAD_H 00003 00013 namespace DybDaq { 00014 class LtbReadout; 00015 } 00016 00017 #include "LtbReadoutFormat/LtbBuffer.h" 00018 00019 namespace DybDaq { 00020 00021 class LtbHead : public LtbBuffer { 00022 00023 public: 00024 00025 friend class LtbReadout; 00026 00030 virtual ~LtbHead(); 00031 00035 unsigned int version() const; 00036 00040 virtual const DaqTraits& daqTraits() const; 00041 00045 unsigned int rawTriggerTotal() const; 00046 00050 unsigned int rawTriggersSaved() const; 00051 00055 unsigned int ltbStatus() const; 00056 00060 unsigned int localTriggerNumber() const; 00061 00065 bool clockError() const; 00066 00070 virtual unsigned int bufferSize() const; 00071 00072 protected: 00073 00077 LtbHead(const unsigned int localTriggerNumber, 00078 const unsigned int rawTriggerTotal, 00079 const unsigned int ltbStatus, 00080 const bool clockError, 00081 const LtbTraits& traits); 00082 00086 LtbHead(const ByteBuffer& byteBuffer); 00087 00091 virtual unsigned int formatComponent() const; 00092 00093 private: 00094 00098 LtbHead(); 00099 00103 LtbHead(LtbHead& rhs); 00104 00108 LtbHead& operator=(LtbHead& rhs); 00109 00113 void setRawTriggerTotal(const unsigned int rawTriggerTotal); 00114 00118 void setRawTriggersSaved(const unsigned int rawTriggersSaved); 00119 00123 void setLtbStatus(const unsigned int ltbStatus); 00124 00128 void setLocalTriggerNumber(const unsigned int localTriggerNumber); 00129 00133 void setClockError(const bool clockError); 00134 00140 const LtbTraits* m_traits; 00141 }; 00142 00143 } 00144 00145 #endif // LTBREADOUTFORMAT_LTBHEAD_H