diff --git a/DDCore/python/lcdd.py b/DDCore/python/lcdd.py
index 84255f82a0c779dc12eb289635eed4a17151c226..5e4f8ba316ccc12538316e9def67735c9b29f690 100644
--- a/DDCore/python/lcdd.py
+++ b/DDCore/python/lcdd.py
@@ -14,7 +14,7 @@ import xml.etree.ElementTree as xml
 from math import cos, sin, pi, tan
 from os import path, listdir
 from functools import partial
-import SystemOfUnits
+import g4units
 import math
 import logging
 from ddsix.moves import range
@@ -57,7 +57,7 @@ unique_mat_id = 0x7FFEFEED
 current_xmlfile = None
 
 constants = {}
-constants.update(SystemOfUnits.__dict__)
+constants.update(g4units.__dict__)
 constants.update(math.__dict__)
 drivers = {}
 drivers.update(math.__dict__)
diff --git a/DDG4/examples/CLICSidSimuLCIO.py b/DDG4/examples/CLICSidSimuLCIO.py
index 7fe648ecc8b26269ee03085c7da6a81e24549d08..b07587c98684cef09efb7debbfcf5bf0ddfd7992 100644
--- a/DDG4/examples/CLICSidSimuLCIO.py
+++ b/DDG4/examples/CLICSidSimuLCIO.py
@@ -11,7 +11,7 @@ import os
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 import logging
 
 logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)
diff --git a/DDG4/examples/CLICSidSimuMarkus.py b/DDG4/examples/CLICSidSimuMarkus.py
index 7303d7f06ce69c0b95def16974faa3c6756e7230..247f94fda3c6dae703d53f2610421c5dd303e43b 100644
--- a/DDG4/examples/CLICSidSimuMarkus.py
+++ b/DDG4/examples/CLICSidSimuMarkus.py
@@ -6,7 +6,7 @@ import time
 import logging
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)
 logger = logging.getLogger(__name__)
@@ -20,7 +20,7 @@ logger = logging.getLogger(__name__)
 
 import os, time, DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 
 kernel = DDG4.Kernel()
 description = kernel.detectorDescription()
diff --git a/DDG4/examples/SiDSim.py b/DDG4/examples/SiDSim.py
index 3975d2ef40e227b44514bee721b523834434a000..369af4a21ba100d2784e17ef27bdb884f4a71638 100644
--- a/DDG4/examples/SiDSim.py
+++ b/DDG4/examples/SiDSim.py
@@ -6,7 +6,7 @@ import time
 import logging
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 #
 logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)
diff --git a/DDG4/examples/SiDSim_MT.py b/DDG4/examples/SiDSim_MT.py
index a7d2ce86f38ad146fa139b730a5ea38e5fa84b8c..ce97d489f78a77c6bbf84bbd82b15d05d058fd27 100644
--- a/DDG4/examples/SiDSim_MT.py
+++ b/DDG4/examples/SiDSim_MT.py
@@ -6,7 +6,7 @@ import time
 import logging
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)
 logger = logging.getLogger(__name__)
diff --git a/DDG4/examples/SiD_Markus.py b/DDG4/examples/SiD_Markus.py
index 1f237df44e06621ec2eaf895a632c916ff76dc2e..971b55950f622c78b6cd14faa69f4b06c569a0a6 100644
--- a/DDG4/examples/SiD_Markus.py
+++ b/DDG4/examples/SiD_Markus.py
@@ -6,7 +6,7 @@ import time
 import logging
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 global geant4
 logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)
diff --git a/DDG4/python/DDG4.py b/DDG4/python/DDG4.py
index ea5da4a5467cf29cc7820f8e23c6b96b1203f4e9..e09e3a44f23c79b90f01a6e2630ee7f99ddc4757 100644
--- a/DDG4/python/DDG4.py
+++ b/DDG4/python/DDG4.py
@@ -624,16 +624,16 @@ class Geant4:
     return self.setupDetector(name, type, collections)
 
   def _private_setupField(self, field, stepper, equation, prt):
-    import SystemOfUnits
+    import g4units
     field.stepper = stepper
     field.equation = equation
-    field.eps_min = 5e-05 * SystemOfUnits.mm
-    field.eps_max = 0.001 * SystemOfUnits.mm
-    field.min_chord_step = 0.01 * SystemOfUnits.mm
-    field.delta_chord = 0.25 * SystemOfUnits.mm
-    field.delta_intersection = 0.001 * SystemOfUnits.mm
-    field.delta_one_step = 0.01 * SystemOfUnits.mm
-    field.largest_step = 1000 * SystemOfUnits.m
+    field.eps_min = 5e-05 * g4units.mm
+    field.eps_max = 0.001 * g4units.mm
+    field.min_chord_step = 0.01 * g4units.mm
+    field.delta_chord = 0.25 * g4units.mm
+    field.delta_intersection = 0.001 * g4units.mm
+    field.delta_one_step = 0.01 * g4units.mm
+    field.largest_step = 1000 * g4units.m
     if prt:
       logger.info('+++++> %s %s %s %s ', field.name, '-> stepper  = ', str(field.stepper), '')
       logger.info('+++++> %s %s %s %s ', field.name, '-> equation = ', str(field.equation), '')
diff --git a/DDG4/python/g4MaterialScan.py b/DDG4/python/g4MaterialScan.py
index 34baa1c0f613551c71f6e534989dc3a5b0ee7255..27483d692c91dca85cf2ffbd1fa0efee03afc6a5 100644
--- a/DDG4/python/g4MaterialScan.py
+++ b/DDG4/python/g4MaterialScan.py
@@ -51,7 +51,7 @@ def materialScan(opts):
   gun = geant4.setupGun("Gun",
                         Standalone=True,
                         particle='geantino',
-                        energy=20 * SystemOfUnits.GeV,
+                        energy=20 * g4units.GeV,
                         position=opts.position,
                         direction=opts.direction,
                         multiplicity=1,
@@ -120,7 +120,7 @@ except ImportError as X:
 
 try:
   import DDG4
-  import SystemOfUnits
+  import g4units
 except ImportError as X:
   logger.error('DDG4 python interface not accessible: %s', X)
   logger.info(parser.format_help())
diff --git a/examples/ClientTests/scripts/Assemblies.py b/examples/ClientTests/scripts/Assemblies.py
index 72d60ab0c29ce348a131fcff683a60a3b26d0cf5..71b3770852462c7cac2fb34950f9de5837a47f66 100644
--- a/examples/ClientTests/scripts/Assemblies.py
+++ b/examples/ClientTests/scripts/Assemblies.py
@@ -3,7 +3,7 @@ import os
 import sys
 import time
 import DDG4
-from SystemOfUnits import *
+from g4units import *
 #
 """
    dd4hep example setup using the python configuration
diff --git a/examples/ClientTests/scripts/DDG4TestSetup.py b/examples/ClientTests/scripts/DDG4TestSetup.py
index 185ae6c7b0786d735c235636a074ff47a9bc5e27..c69258c92fbbc9af2c950ae7468561ad59920f5c 100644
--- a/examples/ClientTests/scripts/DDG4TestSetup.py
+++ b/examples/ClientTests/scripts/DDG4TestSetup.py
@@ -5,7 +5,7 @@ import time
 import logging
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 
 logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)
 logger = logging.getLogger(__name__)
diff --git a/examples/ClientTests/scripts/FCC_Hcal.py b/examples/ClientTests/scripts/FCC_Hcal.py
index 57b421b23e2a9b8e859eb387ad5ede269b4dc349..6f962cf906bf11211a5738d37bdc252a5cace731 100644
--- a/examples/ClientTests/scripts/FCC_Hcal.py
+++ b/examples/ClientTests/scripts/FCC_Hcal.py
@@ -3,7 +3,7 @@ import os
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 #
 """
diff --git a/examples/ClientTests/scripts/LheD_tracker.py b/examples/ClientTests/scripts/LheD_tracker.py
index 176fcaec68737e1fd8e6258890fbcdc262dc420c..0c0c6260bba20a0cbd0b4f9e6e276470b6a6ea19 100644
--- a/examples/ClientTests/scripts/LheD_tracker.py
+++ b/examples/ClientTests/scripts/LheD_tracker.py
@@ -6,7 +6,7 @@ import sys
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 import logging
 
 logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)
diff --git a/examples/ClientTests/scripts/MultiCollections.py b/examples/ClientTests/scripts/MultiCollections.py
index 32d5298cf926c9575a54ce2ffd64b146993efa7d..dc18a10dbd1f90fb962419eb99ce69b3afdcb298 100644
--- a/examples/ClientTests/scripts/MultiCollections.py
+++ b/examples/ClientTests/scripts/MultiCollections.py
@@ -4,7 +4,7 @@ import sys
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 from ddsix.moves import range
 #
 #
diff --git a/examples/ClientTests/scripts/MultiSegmentCollections.py b/examples/ClientTests/scripts/MultiSegmentCollections.py
index 68edb8d20ed3f72f8274007408b8773258d20f97..d98b9edc06e2bbafbe14fcf1015685094cfe7cb8 100644
--- a/examples/ClientTests/scripts/MultiSegmentCollections.py
+++ b/examples/ClientTests/scripts/MultiSegmentCollections.py
@@ -4,7 +4,7 @@ import sys
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 from ddsix.moves import range
 #
 #
diff --git a/examples/ClientTests/scripts/NestedDetectors.py b/examples/ClientTests/scripts/NestedDetectors.py
index 0424846730014b63a5279608ad7779975bfd6ec9..44d9c49834d884f587231ed379255b9dde1eed4d 100644
--- a/examples/ClientTests/scripts/NestedDetectors.py
+++ b/examples/ClientTests/scripts/NestedDetectors.py
@@ -4,7 +4,7 @@ import sys
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 #
 """
diff --git a/examples/ClientTests/scripts/SiliconBlock.py b/examples/ClientTests/scripts/SiliconBlock.py
index b0e30273317fd50f935ffe981c62df3dc2b5f922..b4ad34f95e66b5a3b56ffd7f4c2f5321b2cc4a4c 100644
--- a/examples/ClientTests/scripts/SiliconBlock.py
+++ b/examples/ClientTests/scripts/SiliconBlock.py
@@ -6,7 +6,7 @@ import sys
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 #
 """
diff --git a/examples/DDCMS/scripts/CMSTrackerSim.py b/examples/DDCMS/scripts/CMSTrackerSim.py
index e8307c40dce57b03ced052b82d9c7272dca405d5..5c5e6849701425134a14021ec371d4f399d05be8 100644
--- a/examples/DDCMS/scripts/CMSTrackerSim.py
+++ b/examples/DDCMS/scripts/CMSTrackerSim.py
@@ -4,7 +4,7 @@ import sys
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 import logging
 from ddsix.moves import range
 
diff --git a/examples/DDCodex/python/CODEX-b-alone.py b/examples/DDCodex/python/CODEX-b-alone.py
index e6192b9cf1a36f66e4d2f6f6e1985d81c7e0beb0..100cfcd05a8d7d63bfe51e855cbcd611b81d3ae4 100755
--- a/examples/DDCodex/python/CODEX-b-alone.py
+++ b/examples/DDCodex/python/CODEX-b-alone.py
@@ -6,7 +6,7 @@ import sys
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 #
 """
diff --git a/examples/DDG4_MySensDet/scripts/MyTrackerSD_sim.py b/examples/DDG4_MySensDet/scripts/MyTrackerSD_sim.py
index 9ca80432bba6a60717a5da35da3aa56d30a095c1..7d238f7249b63da9f47d68c38582849cec87466a 100644
--- a/examples/DDG4_MySensDet/scripts/MyTrackerSD_sim.py
+++ b/examples/DDG4_MySensDet/scripts/MyTrackerSD_sim.py
@@ -7,7 +7,7 @@ import time
 import DDG4
 import dd4hep
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 #
 """
diff --git a/examples/LHeD/scripts/LHeD.py b/examples/LHeD/scripts/LHeD.py
index 40f4b43fe0507b2a61a5db9a42105c07d6cb9c52..b0dad099f5350986f38a9bb06b6d5955a8a5596e 100644
--- a/examples/LHeD/scripts/LHeD.py
+++ b/examples/LHeD/scripts/LHeD.py
@@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals
 import sys
 import logging
 import DDG4
-from SystemOfUnits import *
+from g4units import *
 
 logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)
 logger = logging.getLogger(__name__)
diff --git a/examples/LHeD/scripts/LHeDScan.py b/examples/LHeD/scripts/LHeDScan.py
index daa854da421b92edbd9da41ff264611212f0460d..12a15badb08899b4fc6f7cbe093f0340348c2cdf 100644
--- a/examples/LHeD/scripts/LHeDScan.py
+++ b/examples/LHeD/scripts/LHeDScan.py
@@ -17,7 +17,7 @@ def run():
   import os
   import sys
   import DDG4
-  import SystemOfUnits
+  import g4units
 
   kernel = DDG4.Kernel()
   install_dir = os.environ['DD4hepExamplesINSTALL']
@@ -29,7 +29,7 @@ def run():
   gun = geant4.setupGun("Gun",
                         Standalone=True,
                         particle='geantino',
-                        energy=20 * SystemOfUnits.GeV,
+                        energy=20 * g4units.GeV,
                         position=(0, 0, 0),
                         multiplicity=1,
                         isotrop=False)
diff --git a/examples/LHeD/scripts/LheSimu.py b/examples/LHeD/scripts/LheSimu.py
index 0ec55ea7eb2646bba43cd416e113237a01ef948a..f7699ad8dcd2cd20a208b45c5fd05086b0922a28 100644
--- a/examples/LHeD/scripts/LheSimu.py
+++ b/examples/LHeD/scripts/LheSimu.py
@@ -18,7 +18,7 @@ def run():
   import LHeD
   import DDG4
   import os
-  import SystemOfUnits
+  import g4units
   from DDG4 import OutputLevel as Output
 
   lhed = LHeD.LHeD()
@@ -41,12 +41,12 @@ def run():
   field = geant4.addConfig('Geant4FieldTrackingSetupAction/MagFieldTrackingSetup')
   field.stepper = "HelixGeant4Runge"
   field.equation = "Mag_UsualEqRhs"
-  field.eps_min = 5e-0520 * SystemOfUnits.mm
-  field.eps_max = 0.001 * SystemOfUnits.mm
-  field.min_chord_step = 0.01 * SystemOfUnits.mm
-  field.delta_chord = 0.25 * SystemOfUnits.mm
-  field.delta_intersection = 1e-05 * SystemOfUnits.mm
-  field.delta_one_step = 0.001 * SystemOfUnits.mm
+  field.eps_min = 5e-0520 * g4units.mm
+  field.eps_max = 0.001 * g4units.mm
+  field.min_chord_step = 0.01 * g4units.mm
+  field.delta_chord = 0.25 * g4units.mm
+  field.delta_intersection = 1e-05 * g4units.mm
+  field.delta_one_step = 0.001 * g4units.mm
   logger.info('+++++> %s -> stepper  = %s', field.name, field.stepper)
   logger.info('+++++> %s -> equation = %s', field.name, field.equation)
   logger.info('+++++> %s -> eps_min  = %s', field.name, field.eps_min)
@@ -170,8 +170,8 @@ def run():
   gen = DDG4.GeneratorAction(kernel, "Geant4InteractionVertexSmear/Smear1")
   gen.OutputLevel = 4  # generator_output_level
   gen.Mask = 1
-  gen.Offset = (-20 * SystemOfUnits.mm, -10 * SystemOfUnits.mm, -10 * SystemOfUnits.mm, 0 * SystemOfUnits.ns)
-  gen.Sigma = (12 * SystemOfUnits.mm, 8 * SystemOfUnits.mm, 8 * SystemOfUnits.mm, 0 * SystemOfUnits.ns)
+  gen.Offset = (-20 * g4units.mm, -10 * g4units.mm, -10 * g4units.mm, 0 * g4units.ns)
+  gen.Sigma = (12 * g4units.mm, 8 * g4units.mm, 8 * g4units.mm, 0 * g4units.ns)
   gen.enableUI()
   kernel.generatorAction().adopt(gen)
 
@@ -194,7 +194,7 @@ def run():
   kernel.generatorAction().adopt(part)
   #part.SaveProcesses = ['conv','Decay']
   part.SaveProcesses = ['Decay']
-  part.MinimalKineticEnergy = 10 * SystemOfUnits.MeV
+  part.MinimalKineticEnergy = 10 * g4units.MeV
   part.OutputLevel = 5  # generator_output_level
   part.enableUI()
 
@@ -225,7 +225,7 @@ def run():
   kernel.registerGlobalFilter(f3)
 
   f4 = DDG4.Filter(kernel, 'EnergyDepositMinimumCut')
-  f4.Cut = 0.5 * SystemOfUnits.MeV
+  f4.Cut = 0.5 * g4units.MeV
   f4.enableUI()
   kernel.registerGlobalFilter(f4)
 
diff --git a/examples/OpticalSurfaces/scripts/OpNovice.py b/examples/OpticalSurfaces/scripts/OpNovice.py
index fb75d3361846080e3a4fa46ff46a2f9f74449e65..2fc2aeff3f011bbcca7eb3c08323984573058201 100644
--- a/examples/OpticalSurfaces/scripts/OpNovice.py
+++ b/examples/OpticalSurfaces/scripts/OpNovice.py
@@ -6,7 +6,7 @@ import sys
 import time
 import DDG4
 from DDG4 import OutputLevel as Output
-from SystemOfUnits import *
+from g4units import *
 #
 #
 """