Skip to content

Fix the structure of MuonMaterials.xml

Michal Mazurek requested to merge mimazure-fix-muon-materials into master

@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:

  1. 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 and 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. Muon:Air and not Air. Maybe it would be also good to use this convention.

  2. 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.

Merge request reports