File indexing completed on 2025-06-21 08:11:49
0001 import os
0002 import argparse
0003 import dd4hep
0004 import DDRec
0005
0006 argparser = argparse.ArgumentParser()
0007 argparser.add_argument('--call-inner-material', action='store_true', default=False)
0008
0009 args = argparser.parse_args()
0010
0011 det = dd4hep.Detector.getInstance()
0012 install_dir = os.environ['DD4hepExamplesINSTALL']
0013 det.fromCompact(f'{install_dir}/examples/ClientTests/compact/InnerOuterMaterial.xml')
0014
0015 sm = det.extension[DDRec.SurfaceManager]()
0016 multimap = sm.map('world')
0017 d = {}
0018 for k, v in multimap:
0019 if args.call_inner_material:
0020 innermat = v.innerMaterial()
0021 outermat = v.outerMaterial()
0022 d[k] = outermat.name()
0023
0024 with open(f'surfaces_{"bad" if args.call_inner_material else "good"}.txt', 'w') as f:
0025 for k, v in d.items():
0026 f.write(f'{k} {v}\n')