Back to home page

EIC code displayed by LXR

 
 

    


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')