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_statistics

Summary

The fpga_statistics data structure contains the data acquired when measuring elapsed time, triggers and histogrammed events.

Data structure

For fpga_statistics there are 16 'register' and a larger number of named 'field' data in use. All register data are 32-bit unsigned int32 (uint32).

In default operation, only bank_0 data are populated. Bank_1 data will be filled in only when fpga_action['segment_enable']=1 and fpga_action['segment']=1.

fpga_statistics registers and fields
Register number and field nameDescription
SR0: bank_0['ct']Real time in clock counts (1LSB = 65536 ADC sampling clock cycles)
SR1: bank_0['ev']Number of accepted and histogrammed events
SR2: bank_0['ts']Number of recognized triggers
SR3: bank_0['dt']Dead time in clock counts (1LSB = 65536 ADC sampling clock cycles)
SR4: bank_1['ct']Real time in clock counts (1LSB = 65536 ADC sampling clock cycles)
SR5: bank_1['ev']Number of accepted and histogrammed events
SR6: bank_1['ts']Number of recognized triggers
SR7: bank_1['dt']Dead time in clock counts (1LSB = 65536 ADC sampling clock cycles)
SR8: bank_0['xev0']Number of external counts by x_counter 0
SR9: bank_0['xev1']Number of external counts by x_counter 1
SR10: bank_0['xev2']Number of external counts by x_counter 2
SR11: bank_0['xev3']Number of external counts by x_counter 3
SR12: bank_1['xev0']Number of external counts by x_counter 0
SR13: bank_1['xev1']Number of external counts by x_counter 1
SR14: bank_1['xev2']Number of external counts by x_counter 2
SR15: bank_1['xev3']Number of external counts by x_counter 3
The 32-bit fpga_statistics registers; SRn means statistics register number n, with n=0...15 .

The user dictionary is used to convert fpga_statistics register contents into physical quantities, mostly count rates (cps = counts per second) and times(seconds).

The user dictionary has the keys 'bank_0' and 'bank_1'. For each key there exists a dictionary with its own keys shown in the table below.

fpga_statistics user dictionary; keys for ['bank_0'] and ['bank_1']
KeyDescription
run_timeRun time (ie data acquisition time) in seconds.
dead_timeDead time (ie data acquisition time) in seconds.
event_rateCount rate of adding data to the histogram.
trigger_rateCount rate of recognized triggers.
pulse_rateEstimate of the real incoming pulse rate, taking into account the measured dead time.
pulse_rate = triggers/(run_time-dead_time)
xev0_rateCount rate for external event counter 0
xev1_rateCount rate for external event counter 1
xev2_rateCount rate for external event counter 2
xev3_rateCount rate for external event counter 3
The fpga_statistics user dictionary; Each top-level dictionary 'bank_0' and 'bank_1' has the same keys as shown.