00001 #include "mu2e-artdaq-core/Overlays/DataBlock.hh" 00002 00003 mu2e::DataBlock::DataBlock() : header_(nullptr), data_(nullptr) {} 00004 00005 mu2e::DataBlock::DataBlock(mu2e::packet_t* ptr) : header_(ptr), data_(ptr + 1) {} 00006 00007 mu2e::packet_t* mu2e::DataBlock::dataPacket(uint16_t index) { 00008 if (index < getPacketCount()) { 00009 return &(data_[index]); 00010 } 00011 00012 return nullptr; 00013 } 00014 00015 uint16_t mu2e::DataBlock::getPacketCount() { return (*header_)[4] + ((*header_)[5] << 8); } 00016 00017 uint8_t mu2e::DataBlock::getROCID() { return ((*header_)[0] & 0xF) + (((*header_)[1] & 0xF) << 4); }