Analysis

An analysis of a signal consists of two steps: signal query and processing. We follow a circuit-oriented approach; as a contrary to system-oriented approach. Following this approach we provide classes capable of querying (CircuitQuery class hierarchy) and processing (CircuitAnalysis class hierarchy) for each circuit. In case a system is the same across all circuit types (e.g., power converter, current leads), the common methods are stored in super classes. Custom processing of a system (e.g., PIC) or systems present only in some circuits (e.g., energy extraction) are handled in classes specific to each concerned circuit. In other words, common systems are treated in the same way and differences are treated for each circuit separately. This structure reflects the actual circuit arrangement. So far, the main dipole and quadrupole circuits were treated this way. This template will be applied to the remaining circuits.

Analysis and query class diagram

All queries rely on the pyeDSL sub-package while the processing methods use the pyeDSL for repetitive tasks supported by dedicated methods for custom analyses. We apply a factory design pattern to instantiate an object matching the circuit type. The Analysis sub-package is used for both HWC and operation notebooks as well as signal monitoring applications.