mirror of
https://github.com/paulscherrerinstitute/sf_daq_buffer.git
synced 2026-04-23 23:40:44 +02:00
38 lines
778 B
C++
38 lines
778 B
C++
#ifndef JUNGFRAUJOCH_HPP
|
|
#define JUNGFRAUJOCH_HPP
|
|
|
|
#include <cstdint>
|
|
|
|
#define JFJOCH_N_MODULES 32
|
|
#define JFJOCH_BYTES_PER_PACKET 8240
|
|
#define JFJOCH_DATA_BYTES_PER_PACKET 8192
|
|
#define JFJOCH_N_PACKETS_PER_FRAME (JFJOCH_N_MODULES * 128)
|
|
#define JFJOCH_DATA_BYTES_PER_FRAME (JFJOCH_N_MODULES * 1048576)
|
|
|
|
// 48 bytes + 8192 bytes = 8240 bytes
|
|
#pragma pack(push)
|
|
#pragma pack(2)
|
|
struct jfjoch_packet_t {
|
|
uint64_t framenum;
|
|
uint32_t exptime;
|
|
uint32_t packetnum;
|
|
|
|
int64_t bunchid;
|
|
uint64_t timestamp;
|
|
|
|
uint16_t moduleID;
|
|
uint16_t xCoord;
|
|
uint16_t yCoord;
|
|
uint16_t zCoord;
|
|
|
|
uint32_t debug;
|
|
uint16_t roundRobin;
|
|
uint8_t detectortype;
|
|
uint8_t headerVersion;
|
|
char data[JFJOCH_DATA_BYTES_PER_PACKET];
|
|
};
|
|
#pragma pack(pop)
|
|
|
|
|
|
#endif
|