00001 #ifndef mu2e_artdaq_core_Overlays_DataBlock_hh
00002 #define mu2e_artdaq_core_Overlays_DataBlock_hh
00003
00005
00006
00007
00008
00009
00010
00012
00013 #include "mu2e-artdaq-core/Overlays/DTCFragment.hh"
00014
00015 #include <cstddef>
00016 #include <cstdint>
00017
00018 namespace mu2e {
00019 class DataBlock
00020 {
00021 public:
00022 DataBlock();
00023 DataBlock(packet_t* ptr);
00024 virtual ~DataBlock() {}
00025
00026 packet_t* headerPacket() { return header_; }
00027 packet_t* dataBegin() { return data_; }
00028 packet_t* dataEnd() { return data_ + getPacketCount(); }
00029 packet_t* dataPacket(uint16_t index);
00030
00031 uint16_t getPacketCount();
00032 uint8_t getROCID();
00033
00034 private:
00035 packet_t* header_;
00036 packet_t* data_;
00037
00038 };
00039
00040 }
00041
00042 #endif