File indexing completed on 2025-02-22 09:38:17
0001 """
0002 Subtest using LHeD showing how to setup the random number generator
0003
0004 @author M.Frank
0005 @version 1.0
0006
0007 """
0008 from __future__ import absolute_import, unicode_literals
0009 from ROOT import gRandom
0010 import logging
0011
0012 logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)
0013 logger = logging.getLogger(__name__)
0014
0015 if __name__ == "__main__":
0016 import LHeD
0017 import DDG4
0018 lhed = LHeD.LHeD()
0019
0020
0021 logger.info('DEFAULT Engine: %s', DDG4.CLHEP.HepRandom.getTheEngine().name())
0022 rndm1 = lhed.setupRandom('R1', seed=987654321, type='RunluxEngine')
0023 logger.info('R1: %s Default instance: %s', rndm1.name, rndm1.instance().name())
0024 logger.info(' Engine: %s', rndm1.engine().name())
0025 logger.info(' DEFAULT: %s', DDG4.CLHEP.HepRandom.getTheEngine().name())
0026 rndm1.showStatus()
0027
0028 rndm2 = lhed.setupRandom('R2', seed=1234321, type='MTwistEngine')
0029 logger.info('R2: %s Default instance: %s', rndm2.name, rndm2.instance().name())
0030 logger.info(' Engine: %s', rndm2.engine().name())
0031 logger.info(' DEFAULT: %s', DDG4.CLHEP.HepRandom.getTheEngine().name())
0032
0033
0034 DDG4.Geant4Random.setMainInstance(rndm1.get())
0035 rndm1.showStatus()
0036
0037
0038
0039 DDG4.Geant4Random.setMainInstance(rndm1.get())
0040 logger.info('DEFAULT Engine: %s', DDG4.CLHEP.HepRandom.getTheEngine().name())
0041 logger.info('DDG4 DEFAULT: %s', DDG4.Geant4Random.instance().engine().name())
0042 rndm = DDG4.Geant4Random.instance()
0043
0044 rndm.setSeed(1234)
0045 rndm.showStatus()
0046 for i in range(10):
0047 logger.info("%s -- 0 gRandome.Rndm() -- Shoot random[[%d]= %f", rndm.name(), i, gRandom.Rndm())
0048
0049 rndm.setSeed(1234)
0050 for i in range(10):
0051 logger.info("%s -- 1 gRandome.Rndm() -- Shoot random[[%d]= %f", rndm.name(), i, gRandom.Rndm())
0052
0053 rndm.setSeed(1234)
0054 for i in range(10):
0055 logger.info("%s -- 2 Geant4Random(CLHEP) -- Shoot random[[%d]= %f", rndm.name(), i, rndm.rndm_clhep())
0056
0057 rndm.setSeed(1234)
0058 for i in range(10):
0059 logger.info("%s -- 3 Geant4Random(CLHEP) -- Shoot random[[%d]= %f", rndm.name(), i, rndm.rndm_clhep())
0060
0061 rndm.setSeed(1234)
0062 for i in range(10):
0063 logger.info("%s -- 4 HepRandomEngine(CLHEP) -- Shoot random[%d]= %f", rndm.name(), i, rndm.engine().flat())
0064
0065 lhed.test_run(have_geo=False)