-
Notifications
You must be signed in to change notification settings - Fork 118
Closed
Labels
Description
From what I understand, the geometry root files are generated from macros/geo/create_${DETECTOR}.C.
Still, they are added to the repository. This could cause some possible problems:
- Incremental changes become opaque. From gits point of view, a binary blob is just replaced by another binary blob.
- There is always the exciting possibility that the generating macros and the binary root geometry file diverge, because someone added the binary change in the main repository but not the macro change in the macros repository, or vice versa.
- Furthermore, at least the floating point operations used to generate the geometries are implementation dependent. So "let's run the create script and do a diff" is right out. One would have to do a semantic comparision.
- Finally, this seems to encourage duplication. (See [rant] Code duplication #317 .) At the moment, we have 14 geometries for califa, and 9 different create_califa_*.C scripts. Given that I had to re-add support for the 2019/s444 geometry, I would wager that most versions will fail to work with the current code base.
The largest file in geometries is some 150kBytes. I think it is both feasible and desirable to auto-generate the supported versions of these files (e.g. 2019, 2020) during the cmake build process.
What do you think?
Reactions are currently unavailable