Prevent One Definition Rule warnings when building with LTO enabled
In studies of the use/efficacy of LTO for ATLAS, a couple of ODR warnings popped up which are fixed here:
- Make the factory function for
LArCustomShapeExtensionSolid
return pointer-to-base type rather than concrete type, matching the expectation in the plugin loader. - Make
G4ShiftedCode
privateenum
s truly private so they do not clash with Geant4 (fromG4Sphere.cc
)
Should be zero difference in behaviour!