Fix the structure of MuonMaterials.xml
@edelucia @desimone @bcouturi @sponce @gcorti
This should solve the problem reported by @edelucia when working on the implementation of the Muon system in Gauss(-on-Gaussino). In particular, the geometry defined in compact/trunk/Muon
could not have been correctly converted using Geant4Converter
in DDG4 resulting in the following error:
Geant4Converter INFO ++ Convert Volume Copper30micBox : 0x4ee8460 TGeoBBox/TGeoVolume assembly:NO
TUnixSystem::Di... FATAL segmentation violation
The reason it fails is caused by 2 things:
-
There is something wrong with the format of the
MuonMaterials.xml
and the properties of the materials could not be correctly converted. I am no expert on this, so I do not really know what is the ideal structure, but I copied the convention used by other sub-detectors. I had to copy some of the missing materials from DDDB as well. Please note, that there are 3 files that define materials:Muon/materials.xml
,Muon/fakematerials.xml
andMuon/Muon/Materials/MuonMaterials.xml
. It might be worth removing those that are not used as it is a little bit confusing. Also, I see that for other sub-detectors we use a prefix, e.g.Muon:Air
and notAir
. Maybe it would be also good to use this convention. -
Geant4Converter
was not handling correctly the cases in which the ionization properties of the material are not defined. I applied a patch in our copy of DDG4 used by Gaussino that should result in the following warning:
Geant4Converter INFO ++ Convert Volume Copper30micBox : 0x4bbfcb0 TGeoBBox/TGeoVolume assembly:NO
Geant4Converter WARNING ++ Created G4 material but ION is not defined and the properites cannot be printed.
More in Gaussino/DD4hep#1.
I am adding lhcb-gaussino to test this.