CMakeLists.txt now checks if ROOT provides PROOF (which it does not anymore starting with 6.32). Also gives an error when the major version isn't 6.
Fixed a bug in TTransientBits::Print where std::count was used instead of std::cout
Added ClassDef, ClassDefOverride, NamespaceImp, and templateClassImp to macros of clang-format.
Removed the obsolete class TParallelFileMerger.
Removed all ClassImp statements that are obsolete in newer ROOT versions.
Fixed #1429 where the background function of TPeakFitter fit isn't drawn because it's range isn't set.
Removed unused fPeakId from TBGSubtraction.
Removed unused fConstrainWidths from TMultiPeak.
Removed the (essentially empty) source files for TRawEvent and TRawFile.
A lot of the clang-tidy suggestions were along theses lines:
implementing all five of desctructor, copy constructor, move constructor, copy assignment, and move assignment if one of them is implemented (rule of five)
marking constructors with a single argument as explicit. This prevents implicit conversions of the argument and that can be an issue in some cases (e.g. TTransientBits creates an issue with TS3). This probably means some other changes are needed in the classes that have an issue with that (like explicit casting).
declaring functions as const or static if possible. This also gives a lot of false positives since for a base class it might look like a function could be made const, but the child classes do need the function to be non-const.
also using static functions as such and not calling them via an object.
using auto where possible
more explicit casting as well as using the right variable types (e.g. using Color_t instead of int where applicable)
changing variables from long or short to specific integer size like int16_t or int64_t.
not having protected members, these should be made private, with the correct setters/getters for child classes (which could be made protected). This has been done in a few cases, but a lot of classes still are missing this.
correct initialization of members. This means in most cases adding initial values to the declaration directly, and using initializer lists, instead of initializing the member in the constructor body.
having variable names be at least three characters long. I've changes some of those (where it made sense), but e.g. x or y where left as is.
changing arguments to const references or using std::move
std::count
was used instead ofstd::cout
ClassDef
,ClassDefOverride
,NamespaceImp
, andtemplateClassImp
to macros of clang-format.TParallelFileMerger
.ClassImp
statements that are obsolete in newer ROOT versions.fPeakId
from TBGSubtraction.fConstrainWidths
from TMultiPeak.A lot of the clang-tidy suggestions were along theses lines:
explicit
. This prevents implicit conversions of the argument and that can be an issue in some cases (e.g. TTransientBits creates an issue with TS3). This probably means some other changes are needed in the classes that have an issue with that (like explicit casting).const
orstatic
if possible. This also gives a lot of false positives since for a base class it might look like a function could be made const, but the child classes do need the function to be non-const.auto
where possibleColor_t
instead ofint
where applicable)long
orshort
to specific integer size likeint16_t
orint64_t
._