This had been partially implemented, but never completed. This is a sweep of !40868 (merged) from master to 21.3.
Doing this now as the HepMC3 migration in master would otherwise prevent master reading LUCID hits written in 21.3.
FYI @asbrizzi, @gcarratt, @averbyts