EC software SIS/ESR Kickers
Outline
Each kicker contains up to 9 kicker modules. Each of these kicker modules is equipped with two power supplies, to provide for two kicks within short timing distance, and one control unit, handling (setting and reading) module specific parameters. For each kicker one timing unit handles triggering the kickers. The interfacing hardware makes use of modulebus components. Only the high voltage power supplies are are connected by standard interface boards.
The EC software for the kickers is implemented in an object oriented way. The class design reflects the outline of the kicker hardware. The kicker software makes use of classes which are centrally provided for modulebus components.
Kicker Classes
The kicker specific classes are (see
class diagram):
- LogDev - class to represent the kicker (with all its kicker modules and the timng unit)
- Logical Device class for equipment model MK
Composition of the kicker from kicker modules is handled in attribute:
- MKModCtrl - class representing the parameter handling for kicker modules (module control)
- ModCtrl-class contains module control (parallel I/O- and MUX-ADC-hardware) for up to 3 kicker modules
composition from module bus cards is handled by attributes:
- _crModCtrl: MBCrate*
- _mkAdc [C_MODCTRL_CNT] : MBMkAdc
- _mkInl [C_MODCTRL_CNT] : MBMkInl
with
C_MODCTRL_CNT : number of kikcker modules handled by one module control crate (SIS and ESR: 3, Q-kicker: 1)
- MKModules - class representing one kicker module
- Each kicker has at least 1 and up to 9 modules. The modules-class handles all componenents that belong to 1 kicker: - 1 timing module - 1 modules-class object (that contains up to 9 kicker modules)
Composition of the kicker module from module control units, power supplies (two per kicker module) and timing unit is handled by attributes:
- _mkModCtrl [C_MAX_CTRL_NR] : MKModCtrl
- _mkPS1 [C_MAX_MODULE_CNT] : IFB
- _mkPS2 [C_MAX_MODULE_CNT] : IFB
- _mkTiming [C_MAX_CTRL_NR] : MKTiming
with
C_MAX_MODULE_CNT : number of kicker modules (SIS: 9, ESR: 3, Q-kikcer: 1)
C_MAX_CTRL_NR : number of control units (SIS: 3, ESR: 1, Q-kicker: 1), each handles up to 3 modules
- MKTiming - class representing the timing unit (the trigger unit) for one kicker
- Kicker timing-claass contains modulbus hardware for all kicker modules (up to 9 kicker modules):
- 1 or 2 kicker counter modules
- 1 Trigger module
- 1 Interlock module
composition from module bus cards is handled by attributes:
- _crTiming : MBCrate*
- _mkCnt : MBMkCnt
- _mkTrgCompLevel : MBMkTrg
- _mkTrgInl : MBMkInl
- _mkTrgStartLevel : MBMkTrg
Modulebus Classes
The equiment software for the kicker uses general modulebus classes which are provided for several types of modulebus components (see
class diagram).
General modulebus classes:
- MBCrate - One modulebus crate
- equipped with several modulebus components
- MBCrateList - Several modulebus crates
- Interfacing may combine several crates
- MBModul - Module
- Base class for modulebus cards
- MBIO32 - 32-Bit-IO-Card
- Parallel digital I/O
Classes for modulebus components, which are developed specifically for the kickers:
- MBMkAdc - Kicker-ADC
- ADCs only
- MBMkCnt - Kicker-Counter
- Counters, used to measure time
- MBMkInl - Kicker-Interlock
- Based on 32-bit I-O
- MBMkTrg - Kicker-Trigger
- Set some levels
UML Diagrams
Two class diagrams are provided, one for the classes modelling kicker elements (diagram
kicker classes) and one for centrally provided classes for modulebus elments (diagram
modulebus classes).
The diagrams are generated from the code implementation, using the Umbrello UML modeller.