Decide on naming scheme
G4E naming scheme was designed with the idea that one could go from outer to inner details with the part of a name:
<region>_<detector>_<internal_parts>
ce_EMCAL_Glass_tower011020:
- central region electron endcup
- EMCAL
- Glass part (it is a hybrid calorimeter with outer glass and inner crystal parts)
- tower in row 11, columnt 20
Here, ce_EMCAL was a part of a specification, while Glass_tower011020 can be whatever detector experts thinks convenient for them
So if you have a hit or a piece of geometry, you can do:
startswith(name, "c") // everything in central region
startswith(name, "ce") // everything electron endcup
startswith(name, "ce_EMCAL") // everything about ce_EMCAL
The idea actually worked pretty well but if one asked what I would change:
-
I would change everything to small letters snake_case (just not to think if it is ce_EMCAL_Glass or GLASS or glass, or Beampipe or BEAMPIPE). I haven't restricted naming convention and that was a mistake. "ce_emcal_glass_tower1122" - reads good.
-
Class names with something like "ce_EMCAL_Design" and "ce_EMCAL_Config" looks awkward in terms of Geant4 coding convention. I would propose to change it to comply to outer (Geant/DD4HEP) coding convention if that is a class name: e.g. CeEmcalSomething.
Please, tell me what your taste suggest you and if this relevant at all? Since now it is easy to change later will be much harder.