@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.xmland 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/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.
Air. Maybe it would be also good to use this convention.
Geant4Converterwas 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.