Skip to content

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:

  1. 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.

  2. 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.

Edited by Dmitry Romanov