When investigating the possibility to use the existing GeoModelXml "Envelope" mechanism to insert new service material inside an existing volume (in this case to position ITk/HGTD service material in the Calorimeter crack region) it was noticed that the mechanism only works for GeoPhysVol
s while the specific location where new items would ideally be inserted is a GeoFullPhysVol
. This MR adds the capability to also use a GeoFullPhysVol
as an Envelope
.
The latter does not inherit from the former, nor do they share a common base class with a virtual add
method, and so we need to treat each case separately rather than a more simple solution that could support both through polymorphism. That being said, there could well be a better way to do this than what I've implemented here.
FYI @mbandier @dellacqu in case you have comments or suggestions.