using Qt6 for SOLARIS DAQ GUI development
Go to file
2024-06-11 14:25:56 -04:00
.vscode simplify the update other panels machanism 2023-03-24 17:23:59 -04:00
Aux add the make file in Aux, small change for Ubuntu 23.04 2024-04-11 19:29:23 -04:00
firmwares added firmwares folder and update README.md 2023-10-16 12:43:45 -04:00
scripts attemp to capture grafana screen without open browser, fail 2023-03-30 18:01:54 -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 setting file inlcuded DPP type 2024-06-11 14:25:56 -04:00
ClassDigitizer2Gen.h setting file inlcuded DPP type 2024-06-11 14:25:56 -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 add the make file in Aux, small change for Ubuntu 23.04 2024-04-11 19:29:23 -04:00
digiSettingsPanel.cpp setting file inlcuded DPP type 2024-06-11 14:25:56 -04:00
digiSettingsPanel.h added InputDelay for latest firmware 2023-10-25 14:57:07 -04:00
Hit.h small modification of Hit.h and SolReader.h 2024-04-05 12:17:13 -04:00
influxdb.cpp fixeed many issue when run on solaris server daq 2023-03-10 14:42:29 -05:00
influxdb.h improving digiSettingPanel 2023-02-28 13:28:30 -05:00
macro.h added TriggerMask in Setting 2023-03-23 19:57:14 -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 setting file inlcuded DPP type 2024-06-11 14:25:56 -04:00
mainwindow.h comment out some useless codes 2024-04-08 20:41:57 -04:00
README.md improved the Input Delay 2023-10-26 16:37:29 -04:00
scope.cpp Scope will set digitizer into self-trigger 2024-04-08 16:55:26 -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 move Eventbuilder from SOLARIS_Analysis to here. Created Aux folder to store Auxilary code, like EventBuilder 2024-03-20 18:54:43 -04:00
SOLARISpanel.cpp bug fix on BoardVetoPolarity and InputDelay Display 2023-11-06 13:13:42 -05: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.