Maintainer: D. Coderre, University of Bern
Free and open source software: GPL version 3 (see LICENSE.txt for details)
[![DOI](https://zenodo.org/badge/17370967.svg)](https://zenodo.org/badge/latestdoi/17370967)
kodiaq is a DAQ control program based on CAEN digitizer hardware. It allows the configuration of a network of readout PCs controlled by a single master in order to facilitate horizontal scaling to reach very high readout speeds.
In addition to the networked high-throughput mode, kodiaq can also be run standalone as a single instance and controlled from the command line.
The code is designed to be used with the emo (http://www.github.com/coderdj/emo) web interface.
Please see the full documentation at http://xenon1t.github.io/kodiaq/
The easiest way to install kodiaq is to use the install script. This will automatically check out the newest version of everything and install it onto your PC. It only works in Ubuntu and has only been tested on 14.04 server. If you are using a different distribution you will have to install manually.
- Prerequisites:
- CAEN A2818 or A3818 installed and configured
- CAENVMElib installed, included in kodiaq/caen. Follow instructions in the readme
- libncurses5-dev, also libmongoclient (for mongodb support) or libpbf (for file support)
- For compilation (on ubuntu) build-essential, autoconf, automake, libtool
- For compression: libsnappy-dev
To install the minimum required prerequisites on Ubuntu 14.04 run the following command:
sudo apt-get install build-essential automake autoconf libtool libncurses5-dev libsnappy-dev
- Steps to build and run the standalone module:
- ./configure --enable-lite
- make
- cd src/slave
- ./koSlave
Note that the file DAQConfig.ini must be present in src/slave/DAQConfig.ini. If it is anywhere else you can specify the location with the '-i' option, like ./koSlave -i "myconfig.ini". An example config file sits at:
cp src/master/data/RunModes/DAQOptionsMaster.ini
Edit this file with the settings specific to your setup. Note that an expert should edit this file while a normal user should simply choose between several pre-made files depending on the operation mode.
- Prerequisites:
- For user module see above
- Master module
- For DDC10 online high energy veto support, libtcl8.5 and libexpect are required.
- libmongoclient (also requires boost). See installation instructions below.
- For slave module
- CAENVMElib as well as an A2818/A3818 PCI card with its driver installed.
- libsnappy, libpthread, libprotoc (dev versions)
If you are using the web interface to control the DAQ then the Mongodb libraries are required.
- Steps:
Install libmongoclient. Steps for ubuntu 14.04:
sudo apt-get install scons libboost-all-dev python2.6 git git clone https://git@github.com/mongodb/mongo-cxx-driver.git cd mongo-cxx-driver scons --full --use-system-boost install-mongoclient
- Cofigure with ./configure. There are some possible options.
- --enable-master to compile with master program
- --enable-slave to compile with slave program
- --enable-ddc10 to compile with support for DDC module. Only activated if koMaster is also compiled.
- --enable-all to compile master (with ddc10 support), slave, and user programs
- --enable-lite to compile a lite version of the software that is suitable for standalone systems
Note: if configure doesn't work you may have to run ./autogen.sh to regenerate the configuration scripts.
make
4. The executables for master/slave programs should be available in src/*.
Please contact xe-daq@lngs.infn.it with any questions on configuration or installation of the DAQ system.