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 public:
00021 DataBlock();
00022 DataBlock(packet_t* ptr);
00023 virtual ~DataBlock() {}
00024
00025 packet_t* headerPacket() { return header_; }
00026 packet_t* dataBegin() { return data_; }
00027 packet_t* dataEnd() { return data_ + getPacketCount(); }
00028 packet_t* dataPacket(uint16_t index);
00029
00030 uint16_t getPacketCount();
00031 uint8_t getROCID();
00032
00033 private:
00034 packet_t* header_;
00035 packet_t* data_;
00036
00037 };
00038
00039 }
00040
00041 #endif