00001 #ifndef FADCREADOUTFORMAT_FADCDATA_H 00002 #define FADCREADOUTFORMAT_FADCDATA_H 00003 00012 namespace DybDaq { 00013 class FadcReadout; 00014 } 00015 00016 #include "FadcReadoutFormat/FadcBuffer.h" 00017 00018 namespace DybDaq { 00019 00020 class FadcData : public FadcBuffer { 00021 00022 public: 00023 00024 friend class FadcReadout; 00025 00029 virtual ~FadcData(); 00030 00034 unsigned int channelId() const; 00035 00039 unsigned char highDataByte() const; 00040 00044 unsigned char middleDataByte() const; 00045 00049 unsigned char lowDataByte() const; 00050 00054 virtual unsigned int bufferSize() const; 00055 00056 protected: 00057 00061 virtual unsigned int formatComponent() const; 00062 00063 private: 00064 00065 /* 00066 * Create an instance of this class. 00067 */ 00068 FadcData(const unsigned int channelId, 00069 const unsigned int highDataByte, 00070 const unsigned int middleDataByte, 00071 const unsigned int lowDataByte, 00072 const FadcTraits& traits); 00073 00077 FadcData(const ByteBuffer& byteBuffer, 00078 const FadcTraits& traits); 00079 00083 FadcData(); 00084 00088 FadcData(FadcData& rhs); 00089 00093 FadcData& operator=(FadcData& rhs); 00094 00098 void setChannelId(const unsigned int channelId); 00099 00103 void setHighDataByte(const unsigned int dataByte); 00104 00108 void setMiddleDataByte(const unsigned int dataByte); 00109 00113 void setLowDataByte(const unsigned int dataByte); 00114 00115 }; 00116 00117 }; 00118 00119 #endif // FADCREADOUTFORMAT_FADCDATA_H