diff --git a/DDSim/DD4hepSimulation.py b/DDSim/DD4hepSimulation.py
index caf11cb3e4912e0ac1c3ed87bf50e5e923a26839..089f840a3da96ea541d3cb2e9102a34588f422bd 100644
--- a/DDSim/DD4hepSimulation.py
+++ b/DDSim/DD4hepSimulation.py
@@ -37,6 +37,7 @@ from DDSim.Helper.Output import Output
 from DDSim.Helper.MagneticField import MagneticField
 from DDSim.Helper.ConfigHelper import ConfigHelper
 from DDSim.Helper.Action import Action
+from DDSim.Helper.Random import Random
 import os
 import sys
 
@@ -67,6 +68,7 @@ class DD4hepSimulation(object):
 
     ## objects for extended configuration option
     self.output = Output()
+    self.random = Random()
     self.gun = Gun()
     self.part = ParticleHandler()
     self.field = MagneticField()
@@ -285,6 +287,11 @@ class DD4hepSimulation(object):
 
     actionList = []
 
+    ##configure the random seed
+    rndm = DDG4.Action(kernel,'Geant4Random/R1')
+    self.__setupRandomGenerator(rndm)
+    rndm.initialize()
+
     if self.enableGun:
       gun = DDG4.GeneratorAction(kernel,"Geant4ParticleGun/"+"Gun")
       self.__setGunOptions( gun )
@@ -434,6 +441,16 @@ class DD4hepSimulation(object):
     gun.isotrop      = self.gun.isotrop
     gun.direction    = self.gun.direction
 
+  def __setupRandomGenerator(self, rndm):
+    """set the properties for the random number generator"""
+    if self.random.seed is not None:
+      rndm.Seed = self.random.seed
+      rndm.Luxury = self.random.luxury
+    if self.random.type is not None:
+      rndm.Type = self.random.type
+    if self.output.random <= 3:
+      rndm.showStatus()
+
   def __setMagneticFieldOptions(self, simple):
     """ create and configure the magnetic tracking setup """
     field = simple.addConfig('Geant4FieldTrackingSetupAction/MagFieldTrackingSetup')
diff --git a/DDSim/Helper/Output.py b/DDSim/Helper/Output.py
index a4e71efe749330c23d327c1d4469e266ac0a95e3..f55c799ae78e65f9ba1e7fccbb2d366540ad764f 100644
--- a/DDSim/Helper/Output.py
+++ b/DDSim/Helper/Output.py
@@ -10,6 +10,7 @@ class Output( ConfigHelper ):
     self._kernel = outputLevel('INFO')
     self._part = outputLevel('INFO')
     self._inputStage = outputLevel('INFO')
+    self._random = outputLevel('FATAL')
 
   @property
   def inputStage( self ):
@@ -34,3 +35,11 @@ class Output( ConfigHelper ):
   @part.setter
   def part(self, level):
     self._part = outputLevel(level)
+
+  @property
+  def random( self ):
+    """Output level for Random Number Generator setup"""
+    return self._random
+  @random.setter
+  def random(self, level):
+    self._random = outputLevel(level)
diff --git a/DDSim/Helper/Random.py b/DDSim/Helper/Random.py
new file mode 100644
index 0000000000000000000000000000000000000000..6f3102628083141d5a4d118cb36f7e48b970a7b9
--- /dev/null
+++ b/DDSim/Helper/Random.py
@@ -0,0 +1,13 @@
+"""Helper object for random number generator objects"""
+
+from DDSim.Helper.ConfigHelper import ConfigHelper
+
+class Random (ConfigHelper):
+  """Properties for random number generator"""
+  def __init__ (self):
+    super(Random, self).__init__()
+    self.seed = None
+    self.type = None
+    self.luxury = 1
+    self.replace_gRandom = True
+    self.file = None