This is a remake of the FSUDAQ using Qt6
Go to file
2023-07-11 18:02:42 -04:00
.vscode add some for DPP-QDC, not much 2023-06-20 16:18:02 -04:00
.gitignore added 10 Data List in 1D histogram, many bug fix 2023-06-23 13:50:21 -04:00
Analyser.cpp added configuration panel for SplitPoleAnlyzer.h 2023-06-27 15:47:34 -04:00
Analyser.h testes many things with pulser (except backward event building). All parts looks good at 10 Hz 2023-06-20 11:57:39 -04:00
ClassData.h many bug fix; added thread sync of ACQ start 2023-06-29 18:59:36 -04:00
ClassDigitizer.cpp many bug fix; added thread sync of ACQ start 2023-06-29 18:59:36 -04:00
ClassDigitizer.h add some for DPP-QDC, not much 2023-06-20 16:18:02 -04:00
CustomThreads.h added auto start/stop and run record window 2023-07-11 18:02:42 -04:00
CustomWidgets.h improve Histogram1D and trace View 2023-06-01 17:51:00 -04:00
DataGenerator.cpp clean repository, update gitignore 2023-06-14 16:32:49 -04:00
DataReaderScript.cpp many bug fix; added thread sync of ACQ start 2023-06-29 18:59:36 -04:00
DigiSettingsPanel.cpp many bug fix; added thread sync of ACQ start 2023-06-29 18:59:36 -04:00
DigiSettingsPanel.h uncomment filling histograms, added UpdateOtherPanels() 2023-05-23 17:02:39 -04:00
EventKenshikushi.cpp added backward builder in MultiBuilder 2023-06-19 12:48:17 -04:00
FSUDAQ_Qt6.pro added 10 Data List in 1D histogram, many bug fix 2023-06-23 13:50:21 -04:00
FSUDAQ.cpp added auto start/stop and run record window 2023-07-11 18:02:42 -04:00
FSUDAQ.h added auto start/stop and run record window 2023-07-11 18:02:42 -04:00
Histogram1D.h added 10 Data List in 1D histogram, many bug fix 2023-06-23 13:50:21 -04:00
Histogram2D.h testes many things with pulser (except backward event building). All parts looks good at 10 Hz 2023-06-20 11:57:39 -04:00
influxdb.cpp add influxdb 2023-05-24 16:04:32 -04:00
influxdb.h add influxdb 2023-05-24 16:04:32 -04:00
Isotope.h added 10 Data List in 1D histogram, many bug fix 2023-06-23 13:50:21 -04:00
macro.h in progress to added PSD Channel 2023-05-09 12:16:08 -04:00
main.cpp added Scope Class. not tested 2023-04-18 13:12:05 -04:00
Makefile_test added backward builder in MultiBuilder 2023-06-19 12:48:17 -04:00
MultiBuilder.cpp bug fix on MultiBuilder for multiple boards 2023-06-30 17:32:09 -04:00
MultiBuilder.h added 10 Data List in 1D histogram, many bug fix 2023-06-23 13:50:21 -04:00
qcustomplot.cpp change histogram2D with qcustomplot 2023-05-30 13:57:45 -04:00
qcustomplot.h change histogram2D with qcustomplot 2023-05-30 13:57:45 -04:00
README.md update README.md 2023-06-20 12:20:44 -04:00
RegisterAddress.h added Sync panel 2023-06-30 15:35:21 -04:00
Scope.cpp added 10 Data List in 1D histogram, many bug fix 2023-06-23 13:50:21 -04:00
Scope.h added 10 Data List in 1D histogram, many bug fix 2023-06-23 13:50:21 -04:00
SingleSpectra.cpp added rebin Histogram1D by right click 2023-06-05 19:06:07 -04:00
SingleSpectra.h separate Histogram Classes into spearate file. making 2D Cut 2023-06-02 18:13:47 -04:00
SplitPoleAnalyzer.h added configuration panel for SplitPoleAnlyzer.h 2023-06-27 15:47:34 -04:00
test_indep.cpp testes many things with pulser (except backward event building). All parts looks good at 10 Hz 2023-06-20 11:57:39 -04:00
test.cpp testes many things with pulser (except backward event building). All parts looks good at 10 Hz 2023-06-20 11:57:39 -04:00

Introduction

This is a DAQ for 1st gen CAEN digitizer for V1725, V17255S, V1230 with PHA and PSD firmware.

It has scope (updated every half-sec), allow full control of the digitizer (except LVDS), and allow saving waveform.

It can be connected to InfluxDB v1.8 and Elog.

Each channel has it own 1D histogram. It will not be filled by default, but can enable it in the "Online 1D histgram" panel. The binning of each histogram will be saved under the raw data path as singleSpectaSetting.txt

A Multi-builder (event builder that can build event across multiple digitizer) is made. It has normal event building code and also a backward event building code that build events from the latest data up to certain amont of event.

A 1-D and 2-D histogram is avalible. In the 2-D histogram, graphical cuts can be created and rename.

An online analyzer class is created as a template for online analysis. An example is the SplitPoleAnalyzer.h. It demo a 2-D histogram and a 1-D histogram, and the way to output the rates of cuts to influxDB.

Operation

When programSettings.txt is presented in the same folder as the FSUDAQ_Qt, the program will load it can config the following

  • (line 1) raw data path, where the data will be stored.
  • (line 2) the influxDB v1.8 IP
  • (line 3) the database name
  • (line 4) the elog IP
  • (line 5) the elog logbook name
  • (line 6) elog user name
  • (line 7) elog user password

If no programSettings.txt is found. The program can still search for all digitizers that connected using optical cable. Missing the raw data path will disable save data run, but still can start the ACQ. Missing InfluxDB (elog) variables will disable influxDB (elog).

Undergoing

the following additional functions are planned and I am working on them

  • support V1740 DPP-QDC
  • synchronization helper

Required / Development enviroment

Ubuntu 22.04

  • CAENVMELib v3.3

  • CAENCOmm v1.5.3

  • CAENDigitizer v2.17.1

  • CAEN A3818 Driver v1.6.8

  • qt6-base-dev

  • libqt6charts6-dec

  • libcurl4-openssl-dev

  • elog

The CAEN Libraries need to download and install manually. The other libraries can be installed using the following command:

sudo apt install qt6-base-dev libqt6charts6-dev libcurl4-openssl-dev elog

The elog installed using apt is 3.1.3. If a higher version is needed. Please go to https://elog.psi.ch/elog/

The libcurl4 is need for pushing data to InfluxDB v1.8

The QCustomPlot (https://www.qcustomplot.com/index.php/introduction) source files are already included in the repository.

Compile

use qmake6 -project to generate the *.pro

in the *.pro, add

QT += core widgets charts printsupport

LIBS += -lCAENDigitizer -lcurl

then run qmake6 *.pro it will generate Makefile

then make

if you want to use GDB debugger, in the *.pro file add

QMAKE_CXXFLAGS += -g

exclude some files from the auto-gen *.pro

The following files must be excluded from the *.pro, as they are not related to the GUI

  • DataGenerator.cpp
  • DataReaderScript.cpp
  • EventBuilder.cpp
  • test.cpp
  • test_indep.cpp

Those file can be compiled using

make -f Makefile_test