File indexing completed on 2025-03-13 08:20:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 from __future__ import absolute_import, unicode_literals
0012 import dd4hep as core
0013 import logging
0014
0015 logger = logging.getLogger(__name__)
0016
0017
0018 def loadDDRec():
0019 from ROOT import gSystem
0020 result = gSystem.Load("libDDRec")
0021 if result < 0:
0022 raise Exception('DDG4.py: Failed to load the DDG4 library libDDRec: ' + gSystem.GetErrorStr())
0023 from ROOT import dd4hep as module
0024 core.rec = module.rec
0025 return module.rec
0026
0027
0028
0029 name_space = __import__(__name__)
0030
0031
0032 def import_namespace_item(ns, nam):
0033 scope = getattr(name_space, ns)
0034 attr = getattr(scope, nam)
0035 setattr(name_space, nam, attr)
0036 return attr
0037
0038
0039
0040
0041 try:
0042 rec = loadDDRec()
0043 except Exception as X:
0044 logger.error('+--%-100s--+', 100 * '-')
0045 logger.error('| %-100s |', 'Failed to load DDRec library:')
0046 logger.error('| %-100s |', str(X))
0047 logger.error('+--%-100s--+', 100 * '-')
0048 exit(1)
0049
0050
0051 def import_rec():
0052 import_namespace_item('rec', 'CellIDPositionConverter')
0053
0054 import_namespace_item('rec', 'FixedPadSizeTPCStruct')
0055
0056 import_namespace_item('rec', 'ZPlanarStruct')
0057 import_namespace_item('rec', 'ZPlanarStruct::LayerLayout')
0058
0059 import_namespace_item('rec', 'ZDiskPetalsStruct')
0060 import_namespace_item('rec', 'ZDiskPetalsStruct::LayerLayout')
0061
0062 import_namespace_item('rec', 'ConicalSupportStruct')
0063
0064 import_namespace_item('rec', 'LayeredCalorimeterStruct')
0065 import_namespace_item('rec', 'LayeredCalorimeterStruct::Layer')
0066
0067 import_namespace_item('rec', 'NeighbourSurfacesStruct')
0068 import_namespace_item('rec', 'DetectorSurfaces')
0069
0070 import_namespace_item('rec', 'IMaterial')
0071 import_namespace_item('rec', 'ISurface')
0072 import_namespace_item('rec', 'ICylinder')
0073 import_namespace_item('rec', 'ICone')
0074 import_namespace_item('rec', 'SurfaceType')
0075 import_namespace_item('rec', 'MaterialData')
0076 import_namespace_item('rec', 'MaterialManager')
0077 import_namespace_item('rec', 'VolSurfaceBase')
0078 import_namespace_item('rec', 'VolSurface')
0079 import_namespace_item('rec', 'VolSurfaceList')
0080 import_namespace_item('rec', 'VolPlaneImpl')
0081 import_namespace_item('rec', 'VolCylinderImpl')
0082 import_namespace_item('rec', 'VolConeImpl')
0083 import_namespace_item('rec', 'Surface')
0084 import_namespace_item('rec', 'CylinderSurface')
0085 import_namespace_item('rec', 'ConeSurface')
0086 import_namespace_item('rec', 'SurfaceList')
0087 import_namespace_item('rec', 'Vector2D')
0088 import_namespace_item('rec', 'Vector3D')
0089 import_namespace_item('rec', 'SurfaceManager')
0090
0091 import_namespace_item('rec', 'FixedPadSizeTPCData')
0092 import_namespace_item('rec', 'ZPlanarData')
0093 import_namespace_item('rec', 'ZDiskPetalsData')
0094 import_namespace_item('rec', 'ConicalSupportData')
0095 import_namespace_item('rec', 'LayeredCalorimeterData')
0096 import_namespace_item('rec', 'NeighbourSurfacesData')
0097
0098
0099
0100 import_rec()
0101 std_list_ISurface = core.std_list(str('ISurface*'))
0102 std_list_VolSurface = core.std_list(str('VolSurface'))