Skip to content
Snippets Groups Projects
Check_shape.py 1.69 KiB
Newer Older
Markus Frank's avatar
Markus Frank committed
"""
   dd4hep example setup using the python configuration

   \author  M.Frank
   \version 1.0

"""
from __future__ import absolute_import, unicode_literals
import logging
import sys
from ddsix.moves import range

logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)


def help():
  logging.info("Check_shape.py -option [-option]                           ")
  logging.info("       -geometry   <geometry file>   Geometry file         ")
  logging.info("       -vis                          Enable visualization  ")
  logging.info("       -batch                        Batch execution       ")
Markus Frank's avatar
Markus Frank committed


def run():
  for i in list(range(len(sys.argv))):
    if c.find('BATCH') < 2 and c.find('BATCH') >= 0:
      batch = True
Markus Frank's avatar
Markus Frank committed
      geo = sys.argv[i + 1]

  import DDG4
  kernel = DDG4.Kernel()
  # Configure UI
  geant4 = DDG4.Geant4(kernel, tracker='Geant4TrackerCombineAction')
    ui = geant4.setupCshUI(ui=None, vis=None)
    kernel.UI = 'UI'
Markus Frank's avatar
Markus Frank committed
  # Configure field
  geant4.setupTrackingField(prt=True)
  # Now build the physics list:
  geant4.setupPhysics('')
  kernel.physicsList().enableUI()
Markus Frank's avatar
Markus Frank committed
  DDG4.setPrintLevel(DDG4.OutputLevel.DEBUG)
  cmds = []
  cmds.append('/ddg4/ConstructGeometry/printVolume /world_volume_1/Shape_Test_0/Shape_Test_vol_0_0')
  cmds.append('/ddg4/UI/exit')
  ui.Commands = cmds
  kernel.NumEvents = 0
  kernel.configure()
  kernel.initialize()
  kernel.run()
  kernel.terminate()
Markus Frank's avatar
Markus Frank committed
if __name__ == "__main__":
  run()