eMorpho Data Server Reference

eMorpho

Introduction

USB driver

bpi_device

Data structures

Overview

Module Constants

Controls

Statistics

Results

Histogram

List Mode

Oscilloscope Trace

Summation Weights

Time Slices

Two-bank List Mode

API

Overview

Data Server

Overview

eMorpho Data Structure: fpga_list_mode

Summary

The fpga_list_mode data structure contains the data acquired during a list mode run.

Data structure

For fpga_list_mode there are 1024 'register' and a number of 'fields' data in use. All register data are 16-bit unsigned int16 (uint16).

fpga_list_mode registers and fields
Register number and field nameDescription
LM1023[15]: modeIndicates event data format in the listmode data buffer. 0 → (16-bit energy, 32-bit time), 1 → (16-bit energy, 16-bit PID, 16-bit time).
LM1023[0:11]: num_events Number of events stored in the list mode buffer.
LM0 ... LM1019:Data buffer. Its contents will be unpacked according to mode and num_events.
The fpga_list_mode registers; LMn means list mode register number n, with n=0...3 . Bitfields are indicated as [b_low:b_high] indicating bit numbers b_low to b_high, inclusive.

The list mode data buffer (LM) consists of a 16-bit tail word (in LM1023) preceded by 1023 16-bit data words. Into these data words, the FPGA packs up 340 3-word events. The structure of an event depends on 'mode' and is shown below.

Energies are shown with an extra 4-bit precision compared to Histogram entries: Energy = 16*MCA_bin.

For mode=0 the time unit is an ADC sampling clock cycle; ie 25ns for a 40MHz ADC sampling rate. For mode=1 the time unit 64 ADC sampling clock cycles; ie 40MHz → 1.6µs, 80MHz → 0.8µs, 120MHz → 0.533µs,

Listmode event structure
modeEvent
0energy, short_sum, time
1 energy, time_0, time_1
The fpga_list_mode event structure for different modes. For mode=1, the arrival time is time_0+65536*time_1.
List mode data fields when mode=0
Field nameDescription
timesList of 32-bit event arrival times
energies List of 16-bit energies
The fpga_list_mode data fields when mode=0;
List mode data fields when mode=1
Field nameDescription
timesList of 16-bit event arrival times
energies List of 16-bit energies
short_sumsList of energies measured over the shorter integration time of 'short_it'.
The fpga_list_mode data fields when mode=1;
List mode data user dictionary
Field nameDescription
timesList of event arrival times measured in seconds
energies List of 12-bit energies; 1LSB = 1 MCA_bin
short_sumsList of energies measured over the shorter integration time of 'short_it'. 1LSB = 1 MCA_bin
The fpga_list_mode data fields when mode=1;