Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-03-13 08:20:24

0001 # ==========================================================================
0002 #  AIDA Detector description implementation
0003 # --------------------------------------------------------------------------
0004 # Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 # All rights reserved.
0006 #
0007 # For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 # For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
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 # We are nearly there ....
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 # Now instantiate the entire thing
0100 import_rec()
0101 std_list_ISurface = core.std_list(str('ISurface*'))
0102 std_list_VolSurface = core.std_list(str('VolSurface'))