Skip to content

Mask object

Michael Daas requested to merge mask_object into development

This MR adds a mask object that handles all chip masks as well as mask shifting. It replaces scan_base.prepare_injection_masks() with an iterator that is called from the scan loop. This should make mask handling and updating a lot more readable and understandable.

Potential speedups in mask writing have been implemented and initial benchmarks show a gain in total runtimes of digital and analog scans of about 2s. Caching of mask steps for multi-loop scans has been implemented. Threshold scans are now faster than development.

This MR fixes #154 (closed), #255 (closed), #254 (closed), #266 (closed)

TODO:

  • fix #230 (closed) by implementing a completely new crosstalk scan with 8 different injection patterns that depends on the mask object
  • speedup threshold_scan if possible
  • implement new tuning algorithm and deprecate meta_tuning
  • test remaining scans
    • Fix stuck pixel scan
    • Fix fast threshold scan
    • Fix noise tuning
    • Fix ToT tuning
  • Implement injection delay mask as another mask
  • Increase low threshold performance of new TDAC tuning if possible (moved to open issue #269 (closed))
Edited by Michael Daas

Merge request reports