multi-in multi-out Configurable Ring Buffer for DAQ
Project description
mimoCoRB - multiple-in multiple-out Configurable Ring Buffer
Summary:
Provided here is a central component of each data acquisition system needed to record and pre-analyse data from randomly occurring processes. Typical examples are wave-forms data as provided by single-photon counters or typical detectors common in quantum mechanical measurements or in nuclear, particle physics and astro particle physics, e. g. photo tubes, Geiger counters, avalanche photo-diodes or modern SiPMs.
The random nature of such processes and the need to keep read-out dead times low requires an input buffer and a buffer manager running as a background process. Data are provided via the buffer manager interface to several consumer processes to analyze, check or visualize data and analysis results. Such consumers may be obligatory ones, i. e. data acquisition pauses if all input buffers are full and an obligatory consumer is still busy processing. A second type of random consumers or "observers" receives an event copy from the buffer manager upon request, without pausing the data acquisition process. Typical examples of random consumers are displays of a subset of the wave forms or of intermediate analysis results.
This project originated from an effort to structure and generalize data acquisition for several experiments in an advanced physics laboratory courses at Karlsruhe Institute of Technology.
As a simple demonstration, we provide signals recorded by a detector for cosmic muons with three layers. Occasionally, such muons stop in an absorber between the 2nd and 3rd layer, where they decay at rest and emit a high-energetic electron recorded as a 2nd pulse in one or two of the detection layers.
To see a simple example showing pules shapes and the extracted pulse
heights from simulated waveforms, change to the directory examples/
of this package and execute
../run_daq.py spectrum_setup.yaml
The configuration files examples/simul_source.yaml
and
examples/simul_spin_setup.yaml
contain more advanced
examples of muon lifetime measurements from double-pulses
produced by an incoming muon and the decay electron.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mimocorb-1.0.2rc2.tar.gz
.
File metadata
- Download URL: mimocorb-1.0.2rc2.tar.gz
- Upload date:
- Size: 40.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dd2a8419db071eaa9780e89c32e6d7542e9251bcd4933aecafb61e8f387818d |
|
MD5 | 1c55caa817a21c00e980a8297e2b28a6 |
|
BLAKE2b-256 | c0d62eed2f914067ecb1abd80063ad0489251f9a45131e2c620dd3dc4fbba4ce |
File details
Details for the file mimocorb-1.0.2rc2-py3-none-any.whl
.
File metadata
- Download URL: mimocorb-1.0.2rc2-py3-none-any.whl
- Upload date:
- Size: 42.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f666defd71477c1273852f60fea0d50709d2d51bc1d0d0fc908102636f3b8f1d |
|
MD5 | f21c35f78f9087e6256a3b52f7bcd0b0 |
|
BLAKE2b-256 | 71a39166e3df203b152d185d833c273991c42a0d4c5fcd60dcedc1649b9ee6df |