00001 #ifndef FEEREADOUTFORMAT_FEEHEAD_H 00002 #define FEEREADOUTFORMAT_FEEHEAD_H 00003 00012 namespace DybDaq { 00013 class FeeReadout; 00014 } 00015 00016 #include "FeeReadoutFormat/FeeBuffer.h" 00017 00018 namespace DybDaq { 00019 00020 class FeeHead : public FeeBuffer { 00021 00022 public: 00023 00024 friend class FeeReadout; 00025 00029 virtual ~FeeHead(); 00030 00034 virtual const DaqTraits& daqTraits() const; 00035 00039 unsigned int version() const; 00040 00044 unsigned int triggerNumber() const; 00045 00049 unsigned int triggerType() const; 00050 00054 bool checked() const; 00055 00059 bool error() const; 00060 00064 virtual unsigned int bufferSize() const; 00065 00066 protected: 00067 00071 FeeHead(const unsigned int triggerNumber, 00072 const unsigned int triggerType, 00073 const bool checked, 00074 const bool error, 00075 const FeeTraits& traits); 00076 00080 FeeHead(const ByteBuffer& byteBuffer); 00081 00085 virtual unsigned int formatComponent() const; 00086 00087 private: 00088 00092 FeeHead(); 00093 00097 FeeHead(FeeHead& rhs); 00098 00102 FeeHead& operator=(FeeHead& rhs); 00103 00107 void setTriggerNumber(const unsigned int triggerNumber); 00108 00112 void setTriggerType(const unsigned int triggerType); 00113 00117 void setChecked(const bool checked); 00118 00122 void setError(const bool error); 00123 00129 const FeeTraits* m_traits; 00130 }; 00131 00132 }; 00133 00134 #endif // FEEREADOUTFORMAT_FEEHEAD_H