This is the public open source version of code to run, read, and parse waveforms from Struct SIS3316 16 Channel 250 MHz Digitiers in serial, parallel, or synchronized operation in real binary or hdf5 parsed files. Simple plotly GUI
(Work in Progress) SimpleSetup.docx goes over the basic setup in more detail
code_background.pptx under manuals goes over code base architecture.
To Do: Cleanup and Turn into Python Package
- Python 3
- Numpy
- Pytables
- Plotly
The dictionary fields depend on the hit/event flags that are set in the config file. Unless otherwise stated, all data types are 32-bit uint. The FIR Trigger shaper is the "short shaper" and the FIR Energy shaper is "long shaper".
- rid - global event id number, useful for sorting raw data events
- timestamp - 64-bit uint in samples (depends on clock frequency)
- det - detector ID, first det is 0
if 'Accumulator Gates 1-6 Flag' is set to True then the following fields are also present
- adc_max - max adc value .
- adc_argmax - index of max value
- pileup
- gate 1
- gate 2
- gate 3
- gate 4
- gate 5
- gate 6
if 'Accumulator Gates 7-8 Flag' is set to True
- gate 7
- gate 8
if 'MAW Values Flag' is set to True:
- maw_max - max value of fast shaper
- maw_after_trig - fast shaper value 1 sample after trig
- maw_before_trig - fast shaper value 1 sample before trig
if 'Energy Values Flag' is set to True:
- en_start - long shaper value at trigger
- en_max - max value of long shaper
if 'Save MAW Signal' is set to True:
- maw_data - 'MAW Test Buffer Length' of 32-bit uint Samples from either the short or long shaper. Energy/Long MAW if 'Save MAW Signal' is true, Trigger/Short MAW otherwise
if 'Sample Length' > 0
- raw_data - 'Sample Length' 16-bit uint ADC samples
250 MHz -> 4 ns/sample