Taking data¶
Pypixie16 provides several ways to take data.
Normally, the following steps need to be taken:
initialize using
pixie16.control.init_and_boot()change settings (see previous section)
set run time
pixie16.control.set_run_time(...)take histogram or list mode data using ‘pixie16.control.start_histogram_run()’ or
pixie16.control.start_list_mode_run()for list mode runs: have a for loop to check runtime and status and download and save data. Pypixie16 also provides
pixie16.control.run_list_mode()andpixie16.control.take_list_mode_data()for this use case.for histograms one can also use
pixie16.control.take_MCA_spectra()save settings and stats using
pixie16.control.save_dsp_parameters_as_json()andpixie16.control.save_stats_to_file()end the run `pixie16.contro.end_run()
finally one can also exit the system completely using
pixie16.control.exit_system()
It is worth browsing pixie16.control to see what other functions are provided to make this easier.
Examples can be seen in the exectubales, for example, pixie16.cli.parameter_scan
More complex scenarios¶
If the data needs to be operated on while taking data, for example,
finding channels in list mode data that belong to a single coincidence
event and generate custom plots in live mode, pypixie16 provides data
pipelines in pixie16.pipeline. Here, single tasks can be defined and put together into a
data pipeline. Data can be easily moved from one tasks to the next and
each tasks runs in a separate process to parallelize operation and to
not impeded the rate at which data is taken.
Pypixie16 comes already with some predifined tasks in pixie16.tasks. These include:
taking data
providing dummy data from a file (no Pixi16 needed), this is useful for debugging
saving data to disk in larger chunks
convert list mode data to python structures
sort events by time and add a UTC time stamp from the local computer