Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


The FLASH accelerator, beamlines and experiments are using the Distributed Object Oriented Control System ( DOOCSImage Modified). Beamline and experiment devices are mainly operated via graphical user interfaces created with the Java DOOCS Data Display ( jdddImage Modified) by the FLASH team or the users themself. Further it is provided a DOOCS client API in Java, Python, Matlab, C or C++ to the users to write own software for data access, online data or device control. User-provided devices can be run in parallel or can be implemented in DOOCS. For each beamline and accelerator is a dedicated electronic logbook available in which jddd and other software can print directly.


Use existing jddd panel provided by FLASH or use the jddd editor to create a new panel according to the user's own needs.

The Java DOOCS Data Display (jddd) is a program to draw control system panels with an editor and to run the created drawings with real data. Two versions of the program are available. One is the jdddEditor to draw and test the drawings. The second one is a run-time version only, which does not allow to change a drawing. The jdddEditor offers reusable Java components like labels, buttons, plots, etc. to draw control system panels. The panel structure is stored in xml-format either to a local file system or to a subversion repository.

jdddEditor.pngImage Added  Image Added  jdddEditor.pngImage Removed  Image Added


IT infrastructure

During a beamtime at FLASH we have two IT infrastructures each with different purpose. In the FLASH halls you have local machines which are used with functional accounts and they have access to the beamline files-system for your current experiment. For more demanding task we could also provide workstations which can be dedicated to a single user experiment. For offline and nearOnline analysis the Maxwell cluster for high performance computing is available. On the Maxwell cluster you have to work with personal accounts as this regulates data access to the core file-system.


At the Free-electron Laser Hamburg ( FLASH) we use the Distributed Object Oriented Control System ( DOOCS). Devices are implemented via DOOCS server and via an API ( ONLINE) it is possible to request data directly from the DOOCS server by knowing the DOOCS address.
As correlations of different physical properties are often required all data at FLASH are indexed by the trainID, which identify each of FLASH's pulse trains. The during a beamtime recorded data are stored via a Data Acquisition System ( DAQ) which sort all events from the individual DOOCS server by trainID. When requested HDF files are created after the beamtime which includes the important data from the accelerator and its diagnostic as well as the data created by the users. This time scale we define as offline as the HDF files are converted after the beamtime is over. For synchronous data during an experiment it is possible to create shorter HDF slices via a nearOnline converter within a few minutes. For working with this partially incomplete HDF slices we provide an API called BeamtimeDaqAccess. Reading synchronous data via an online API is possible via a configurable DAQ middle layer server, the DAQmonitor, which feeds the correlated data back in the control system while it provides a ring buffer with 32 events in size.


To monitor individual parameters online, e.g. ADCs or cameras, the use of jddd is recommended. For more complex tasks the users can use the DOOCS client API for Matlab, Python and Labview. For accessing the control system DOOCS addresses are required.

A collection (Matlab [ scan tool , TOF & camera GUIs, others] / Juypter notebooks) for common use cases is available.