1
0
Fork 0
mirror of https://github.com/gwm17/DaqGrimoire.git synced 2024-11-22 18:58:51 -05:00
DaqGrimoire/include/DYListData.h
2022-10-01 09:50:55 -04:00

52 lines
1.0 KiB
C++

#ifndef DY_LIST_DATA_H
#define DY_LIST_DATA_H
#include <cstdint>
#include <cstddef>
namespace DaqGrimoire {
namespace Data
{
static constexpr std::size_t Size = 24;
static constexpr uint16_t InvalidBoard = 999;
static constexpr uint16_t InvalidChannel = 999;
}
struct DYListData
{
uint16_t board = Data::InvalidBoard;
uint16_t channel = Data::InvalidChannel;
uint64_t timestamp = 0;
uint32_t energy = 0;
uint32_t energyShort = 0;
uint32_t flags = 0;
};
namespace Utils
{
inline void GetDataEventFromBuffer(char* bufferIter, DYListData& dataEvent)
{
dataEvent.board = *((uint16_t*)bufferIter);
bufferIter += 2;
dataEvent.channel = *((uint16_t*)bufferIter);
bufferIter += 2;
dataEvent.timestamp = *((uint64_t*)bufferIter);
bufferIter += 8;
dataEvent.energy = *((uint32_t*)bufferIter);
bufferIter += 4;
dataEvent.energyShort = *((uint32_t*)bufferIter);
bufferIter += 4;
dataEvent.flags = *((uint32_t*)bufferIter);
bufferIter += 4;
}
}
}
#endif