All generic frontend utilities, methods, analyses are libFei4
What
Currently all analyses for all frontends appear to be under libFei4
, e.g. the generic TotAnalysis
is under Fei4Analysis.cpp.
The data format for events is Fei4Event
, Fei4Data
, etc...
I suppose this is because libFei4
was "already there", but it leads to a level of cognitive dissonance, makes the software harder to follow, and will make it harder to maintain, if not already. This also means that, no matter what your frontend is, you have to compile for Fei4
even if you only want to work with Rd53b
, which essentially means several aspects of the CMake
compilation, which are presumably there to minimize compile times and output, are rendered quite meaningless. As most people who currently use/will use YARR have likely never dealt with Fei4, this is not a great design.
Solution
Create general libPixelFrontEnd
or variant of libFrontEnd
with the functionality transplanted. I guess it cannot be Pixel
named, since libStar
also relies on libFei4
at this point.