Orion Architecture
Orion system represents a core DAQ library – collection of *.so shared libraries
used for data acquisition.
Orion is based on a modular architecture and decouples functional blocks by providing independedt packages:
-
Front-end chip package provides classes and routines for chip configuration and command generation.
-
Data acquisition package contains row data decoders, chip specific scan engines and various loops implementation. This package provides raw scan data in
JSONformat. -
Analysis package contains data processing algorithms and scan data analysis tools, which are completely detouched from the readout. Analysis tools proces raw scan data stored in
JSONformat into analysis resultsJSONfiles. -
Plotting package is based on
matplotlibpython library and provides tools and routines to make plots based on raw scan data and analysis results provided inJSONformat.
Analysis tools (as a part of the ITk QT work) are presented in the ITk DAQ Analysis package.
Libraries
Orion provides libraries with base functionality applicable for all chips:
itk– common routines used for the whole system,fec– front-end chip related classes and interfaces,daq– classes for data acquisition; contains decoders, scans, loops,alg– algorithms for data processing,
and front-and specific routines and implementations for fec, daq and alg libraries:
- for RD53B chip:
fec-rd53b,daq-rd53b,alg-rd53b, - for Star chips:
fec-star,daq-star,alg-star.
For each library <name> two files are provided:
lib<name>.so- a C++ shared library,py<name>.so- corresponding python binding.
For example, for daq library of the rd53b chip, the following are added:
libdaq-rd53b.so– C++ shared library for DAQ,pydaq-rd53b.so– corresponding python binding.