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 { 00009 if(index < getPacketCount()) { 00010 return &(data_[index]); 00011 } 00012 00013 return nullptr; 00014 } 00015 00016 uint16_t mu2e::DataBlock::getPacketCount() 00017 { 00018 return (*header_)[4] + ((*header_)[5] << 8); 00019 } 00020 00021 uint8_t mu2e::DataBlock::getROCID() 00022 { 00023 return ((*header_)[0] & 0xF) + (((*header_)[1] & 0xF) << 4); 00024 }