using Qt6 for SOLARIS DAQ GUI development
Go to file
2024-10-30 12:13:01 -04:00
.vscode slightly change the EventBuilder to compatable with Root DataFrame. 2024-07-04 20:07:58 -04:00
Aux edit test.cpp and Makefile for ClassInfluxDB 2024-07-31 15:02:12 -04:00
firmwares added firmwares folder and update README.md 2023-10-16 12:43:45 -04:00
scripts added Save-runs-in-subFolders setting 2024-10-15 10:59:26 -04:00
.gitignore move Eventbuilder from SOLARIS_Analysis to here. Created Aux folder to store Auxilary code, like EventBuilder 2024-03-20 18:54:43 -04:00
ClassDigitizer2Gen.cpp add support for 32 channel board in the DigiParameters.h 2024-09-27 14:17:22 -04:00
ClassDigitizer2Gen.h setting file inlcuded DPP type 2024-06-11 14:25:56 -04:00
ClassInfluxDB.cpp update the influxdb class to ClassInfixDB to suppport influx 2.0 2024-07-31 14:54:50 -04:00
ClassInfluxDB.h update the influxdb class to ClassInfixDB to suppport influx 2.0 2024-07-31 14:54:50 -04:00
CustomThreads.h comment out some useless codes 2024-04-08 20:41:57 -04:00
CustomWidgets.h many UI bugs fix and improvement, save Setting to temSettings when close digitizers. 2023-04-12 13:52:42 -04:00
DigiParameters.h bug fix on DigiParameters::GetFullPara for all channels 2024-10-30 12:13:01 -04:00
digiSettingsPanel.cpp add support for 32 channel board in the DigiParameters.h 2024-09-27 14:17:22 -04:00
digiSettingsPanel.h added InputDelay for latest firmware 2023-10-25 14:57:07 -04:00
Hit.h update the influxdb class to ClassInfixDB to suppport influx 2.0 2024-07-31 14:54:50 -04:00
macro.h update the influxdb class to ClassInfixDB to suppport influx 2.0 2024-07-31 14:54:50 -04:00
main.cpp fix bug when no digitizer connected. becasue the scalar did not setup 2023-03-27 18:34:22 -04:00
mainwindow.cpp added Save-runs-in-subFolders setting 2024-10-15 10:59:26 -04:00
mainwindow.h added Save-runs-in-subFolders setting 2024-10-15 10:59:26 -04:00
README.md improved the Input Delay 2023-10-26 16:37:29 -04:00
scope.cpp re structure the file structure. now the daq work without eanalysis folder. 2024-06-28 18:30:35 -04:00
scope.h Scope will set digitizer into self-trigger 2024-04-08 16:55:26 -04:00
SOLARIS_favicon.png have GUI fundation, linker and such 2023-01-25 14:59:48 -05:00
SOLARIS_Qt6_DAQ.pro update the influxdb class to ClassInfixDB to suppport influx 2.0 2024-07-31 14:54:50 -04:00
SOLARISpanel.cpp re structure the file structure. now the daq work without eanalysis folder. 2024-06-28 18:30:35 -04:00
SOLARISpanel.h finished debug of Solaris panel after Mapping.h format changed 2023-04-03 12:25:23 -04:00

Architecture

The core digitizer control classes are independent from the UI classes

Core digitizer class/files

  • Event.h
  • DigiParameters.h
  • ClassDigitizer2Gen.h/cpp

The test.cpp is a demo code to use the ClassDigitizer2Gen.h/cpp.

Auxillary classes

  • influxdb.h/cpp

UI classes/files

  • main.cpp
  • mainwindow.h/cpp
  • digiSettingsPanel.h/cpp
  • CustomWidget.h
  • CustomThreads.h
  • scope.h/cpp
  • SOLARISpanel.h/cpp

Other files

  • makeTest
  • test.cpp
  • script.C
  • SolReader.h
  • windowID.cpp

Wiki

https://fsunuc.physics.fsu.edu/wiki/index.php/FRIB_SOLARIS_Collaboration

Additional function

connect to analysis working directory

When the analysis path is set, it will do servera things

  • save the expName.sh
  • save Settings
  • try to load the Mapping.h in the working directory

End run bash script

When run stop, it will run the bash script under the directory scripts/endRUnScript.h

Required / Development enviroment

Ubuntu 22.04

CAEN_FELIB_v1.2.2 + (install first)

CAEN_DIG2_v1.5.3 +

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

Digitizer firmware V2745-dpp-pha-2022092903.cup

Developer is using these at 2023-Oct-13

CAEN_FELIB_v1.2.5

CAEN_DIG2_v1.5.10

with these new API, Digitizer firmwares

  • V2745-dpp-pha-1G-2023091800.cup
  • V2745-dpp-psd-1G-2023091901.cup
  • V2740-dpp-pha-1G-2023091800.cup
  • V2740-dpp-psd-1G-2023091901.cup

are supported.

Compile

if *.pro does not exist

use qmake6 -project to generate the *.pro

in the *.pro, add

QT += widgets

LIBS += -lcurl -lCAEN_FELib

if *.pro exist

run qmake6 *.pro it will generate Makefile

then make

Using the CAENDig2.h

The CAENDig2.h is not copied to system include path as the CAEN+FELib.h. But we can copy it from the source. In the caen_dig2-vXXXX folder, go to the include folder, copy the CAENDig2.h to /usr/local/include/.

This enable us to compile code with -lCAEN_Dig2. For example, we can use the following to get the CAEN Dig2 Library version.

 char version[16];
 CAENDig2_GetLibVersion(version);
 puts(version);

Known Issues

  • The "Trig." Rate in the Scaler does not included the coincident condition. This is related to the ChSavedEventCnt from the firmware.
  • LVDSTrgMask cannot acess.
  • The CoincidenceLengthT not loaded.
  • Sometime, the digitizer halt after sent the /cmd/armacquisition command. This is CAEN library problem.
  • Event/Wave trig. Source cannot set as SWTrigger.
  • After update to CAEN_FELIB_v1.2.5 and CAEN_DIG2_v1.5.10, old firmware version before 202309XXXX is not supported.