EUDAQ is a Generic Multi-platform Data Acquisition Framework. Version 2 comes with more flexible cross connectivity between components, multiple data collectors, and a cleaner seperation between core functionalities and user modules.
This program is free software: you can redistribute it and/or modify it under the terms of the Lesser GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Please check out the online documentation at
- http://eudaq.github.io/ or
- the manual, see below
- (https://telescopes.desy.de/EUDAQ for the use with the EUDET-type beam telescopes)
The user's manual is provided as LaTeX source files in the repository; to generate the pdf on Linux/OSX, make sure that you have installed ImageMagick, then follow these steps:
cd build
cmake -D EUDAQ_BUILD_MANUAL=ON ..
make pdf
The manual can then be found in ./doc/manual/EUDAQUserManual.pdf
.
To generate the doxygen documentation, make sure that you have installed doxygen and run
make doxygen
in the build
directory after CMake. The resulting HTML files are stored in ../doc/doxygen/html
.
EUDAQ requires a C++11 compliant compiler and a Qt version 5 or higher to build GUIs. We recommend a gcc version 4.9 or later. ROOT 6 is required for the Online Monitor GUI.
- Dummy: Skeletons to add user modules - not to be changed. Required by addModule.sh, that creates your module for you
- example: run the example without hardware, see below Execution
- eudet: EUDET-type beam telescopes and EUDET and AIDA TLU, required: Cactus/Ipbus Software for AIDA TLU and ZestSC1+Tlufirmware+Libusb for EUDET TLU
- aidastrip: SiStrip telescope for DESY TB24 (AIDA2020 WP15 development)
- calice: test beam user
- itkstrip: test beam user
- stcontrol: USBPix/FEI4
- tbscDESY: Slow Control System at DESY test beam
- timepix3: Timepix3 read out, required: Spidr
- tlu: folder for Trigger Logic Units: EUDET and AIDA TLU
- torch: test beam user
- MuPix8: No readme given, as only converter
- PI Stages: Producer to control the rotation and translation stages from PI
- experimental: developed, not tested (with hardware)
cmake
will configure the installation and prepare the makefiles.
It searches for all the required files.
As a standard, it is executed in the build
folder.
Since the relevant CMakeLists.txt is in the main level, thus, the command is cmake ..
.
If cmake is successful, EUDAQ can be installed.
Variables set are cached in CMakeCache.txt and will again be taken into account at the next cmake run.
cmake has several options (cmake -D OPTION=ON/OFF ..
) to activate or deactivate programs which will be built, here printed with their default value:
EUDAQ_BUILD_EXECUTABLE=ON
EUDAQ_BUILD_GUI=ON
EUDAQ_BUILD_DOXYGEN=OFF
EUDAQ_BUILD_MANUAL=OFF
EUDAQ_BUILD_PYTHON=OFF
EUDAQ_BUILD_STDEVENT_MONITOR=OFF
EUDAQ_EXTRA_BUILD_NREADER=OFF
EUDAQ_LIBRARY_BUILD_LCIO=OFF
EUDAQ_LIBRARY_BUILD_TTREE=OFF
USER_AIDASTRIP=OFF
USER_CALICE_BUILD=OFF
USER_EUDET_BUILD=OFF
USER_EXAMPLE_BUILD=ON
USER_EXPERIMENTAL_BUILD=OFF
USER_ITKSTRIP_BUILD=OFF
USER_STCONTROL_BUILD=OFF
USER_TBSCDESY=OFF
USER_TLU_BUILD=OFF
USER_TIMEPIX3_BUILD=OFF
If cmake is not successful and complains about something is missing, it is recommended to clean the build
folder by rm -rf *
before a new try.
If problems occur during installation, please have a look in the issues, if a similiar problem already occured. If not, feel free to create a new ticket: https://github.com/eudaq/eudaq/issues
Prerequisites for Ubuntu 18.04.01 LTS:
sudo apt install openssh-server git cmake build-essential qt5-default xterm zlib1g-dev
Get and compile the code
git clone -b master https://github.com/eudaq/eudaq.git
mkdir -p eudaq/build
cd eudaq/build
cmake ..
make install
The recommended windows compiler is MSVC (Microsoft Visual C++) like Visual Studio 14 2015 and later: Download Visual Studio Express Desktop (e.g. 2015 Version) here.
Start the Visual Studio "Developer Command Prompt" from the Start Menu entries for Visual Studio (Tools subfolder) which opens a cmd.exe session with the necessary environment variables already set.
If your Qt installation path has not been added to the global %PATH% variable, you need to execute the "qtenv2.bat" batch file in the Qt folder, e.g. and replace "5.1.1" with the version string of your Qt installation:
C:\Qt\Qt5.1.1\5.1.1\msvc2013\bin\qtenv2.bat
Go to the EUDAQ folder and configure, as describe above:
cd c:\[...]\eudaq\build
cmake ..
(Note: Please make sure the right compiler is found. You can select the right generator by cmake -G ...
or by using the cmake-gui.)
This generates the VS project files. Installing into eudaq\bin by:
cmake --build . --target install --config Release
- Compiler: Clang (at least version 3.1)
- Install Qt5 or later, e.g. by using MacPorts (http://www.macports.org/): sudo port install qt5-mac-devel
In UNIX:
cd ../user/example/misc
./example_startrun.sh
The startrun script assembles the new command line syntax: Core executables are started by loading a specific module with the name option -n
assigning a unique tag by the option -t
:
cd bin
./euRun &
sleep 1
./euLog &
sleep 1
./euCliMonitor -n Ex0Monitor -t my_mon &
./euCliCollector -n Ex0TgDataCollector -t my_dc &
./euCliProducer -n Ex0Producer -t my_pd0 &
./euCliProducer -n Ex0Producer -t my_pd1 &
Play around with Init, Configure, Start, Stop, Re-Start or Re-Configure and Start or Reset and Re-Init and repeat -- or Terminate.
For Initialising and Configuring you have to Load to set the path to the the ini or conf file:
- ../eudaq/user/example/misc/Ex0.ini
- ../eudaq/user/example/misc/Ex0.conf
A description for operating the EUDET-type beam telescopes is under construction: https://telescopes.desy.de/User_manual