VinzenzBildstein
released this
07 Jun 15:49
·
357 commits
to main
since this release
New
- Added CMakeLists.txt to allow compilation with cmake. This required changing what classes are in which library to resolve some circular dependencies. It also includes downloading all data parser libraries. If the cmake version used is 3.28 or newer, the data libraries are not included in the "all" target. This also includes a GenerateVersionHeader.cmake file that is used to generate the version headers for GRSISort and the data parser libraries based on the git tags. For GRSISort that also meant adding a GVersion.h.in file.
- cmake-multi-platform action: Builds GRSISort against downloaded and compiled ROOT versions (only 6.30.06 at this moment) on both ubuntu and macOs. This might only compile GRSISort itself and none of the data p
arser libraries (this depends on the cmake version used on the runner). - ubuntu-binary-ROOT action: Builds grsisort on ubuntu runners using the binaries for ROOT 6.28.12 and 6.30.06. Older binaries do not work.
- doxygen action: Rebuilds and republishes the documentation of the classes and functions. This also means the doxygen makefile is not needed anymore.
- Dependabot action: checks dependencies of actions and creates PRs if new versions are available.
- Added code of conduct and license files.
- TUserSettings class: This class allows reading user settings from a file with .par extension. Examples can be found in the examples directory.
- Added TRawFile.cxx and TRawEvent.cxx files which only contain the ClassImp macros to create the streamer code.
- Added scripts and programs for Compton polarimetry: Compton_Scale_Plot, LeanAnalyzeComptonMatrices, PlotCompPolDeltaSensitivity.C, and PlotScaledQ.C.
Improvements
- Updated doxygen files (DoxygenFile, DoxygenLayout.xml, customdoxygen.css, and header.html) to 1.9.8 format.
- Updated AngularCorrelationHelper to use user settings file to determine whether to use addback, folding, grouping, etc.
- Started adding more doxygen documenation for ArgParser, GCanvas class
- TCalibrationGraphSet: Added function to remove graph from set, and a flag for TCalibrationGraphSet::Scale to select if scaling is done relative to first graph only (default, requires first graph to overlap with all others) or all previous graphs.
- Added functions for angular correlations to TGRSIFunctions (RacahW, ClebschGordan, F, A, B, CalculateA2, and CalculateA4).
- TGRSIHelper: Added support for TUserSettings and to write general TObjects.
- TGRSIOptions: Automatically reads any .par files provided on command line into the user settings and makes them available via TGRSIOptions::UserSettings() and writes them to file when WriteToFile is called. Also changed default value of fWordOffset from 1 to -1 (meaning by default we ignore the word count in the trailer). Fixed description of --build-window flag.
- TNucleus: Removed code duplication and added removal of all non-alphanumeric characters from the input string.
- TGRSIFrame: Added builtin progress bar instead of the custom one if ROOT versions is >= 6.30.0.
Bug fixes
- Adjusted .gitignore to show changes to TUserSettings files.
- Fixed some doxygen comments that resulted in warnings when running doxygen.
- Added pre-processor condition to not include TDataFrame and related classes if ROOT version is too old (needs to be 6.14.0 or newer).
- Change pre-processor fence around TLevelScheme to require c++17 instead of just c++14.
- Added check if the centroid has been set to all daughter classes of TSinglePeak.
- TRunInfo: Added check that fDetectorInformation isn't a null pointer to the WriteToRoot function.
- TCalibrationGraphSet: changed .push_back to .emplace_back due to a seg-fault. This should have been changed anyway.
- Cleaned the makefile of old unused targets.