From 400bc1118b8cca7a9355d390f0a81e6c5c55a873 Mon Sep 17 00:00:00 2001 From: Markus Frank <markus.frank@cern.ch> Date: Tue, 8 Mar 2016 17:32:06 +0000 Subject: [PATCH] Fix to random numbers --- DDG4/src/Geant4Exec.cpp | 1 - examples/CLICSiD/scripts/CLICSid.py | 30 +++++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/DDG4/src/Geant4Exec.cpp b/DDG4/src/Geant4Exec.cpp index 4eb99beaa..04d6832ae 100644 --- a/DDG4/src/Geant4Exec.cpp +++ b/DDG4/src/Geant4Exec.cpp @@ -512,7 +512,6 @@ Geant4DetectorConstructionSequence* Geant4Compatibility::buildDefaultDetectorCon /// Configure the simulation int Geant4Exec::configure(Geant4Kernel& kernel) { - CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); Geometry::LCDD& lcdd = kernel.lcdd(); Geant4Context* ctx = kernel.workerContext(); Geant4Random* rndm = Geant4Random::instance(false); diff --git a/examples/CLICSiD/scripts/CLICSid.py b/examples/CLICSiD/scripts/CLICSid.py index 32b05f3dd..c43652e16 100644 --- a/examples/CLICSiD/scripts/CLICSid.py +++ b/examples/CLICSiD/scripts/CLICSid.py @@ -2,10 +2,10 @@ import sys, DDG4 from SystemOfUnits import * class CLICSid: - def __init__(self): + def __init__(self,tracker='Geant4TrackerCombineAction'): self.kernel = DDG4.Kernel() self.lcdd = self.kernel.lcdd() - self.geant4 = DDG4.Geant4(self.kernel) + self.geant4 = DDG4.Geant4(self.kernel,tracker=tracker) self.kernel.UI = "" self.noPhysics() @@ -51,12 +51,34 @@ class CLICSid: self.geant4.setupPhysics('') return self + def setupDetectors(self): + print "# First the tracking detectors" + seq,act = self.geant4.setupTracker('SiVertexBarrel') + seq,act = self.geant4.setupTracker('SiVertexEndcap') + seq,act = self.geant4.setupTracker('SiTrackerBarrel') + seq,act = self.geant4.setupTracker('SiTrackerEndcap') + seq,act = self.geant4.setupTracker('SiTrackerForward') + print "# Now setup the calorimeters" + seq,act = self.geant4.setupCalorimeter('EcalBarrel') + seq,act = self.geant4.setupCalorimeter('EcalEndcap') + seq,act = self.geant4.setupCalorimeter('HcalBarrel') + seq,act = self.geant4.setupCalorimeter('HcalEndcap') + seq,act = self.geant4.setupCalorimeter('HcalPlug') + seq,act = self.geant4.setupCalorimeter('MuonBarrel') + seq,act = self.geant4.setupCalorimeter('MuonEndcap') + seq,act = self.geant4.setupCalorimeter('LumiCal') + seq,act = self.geant4.setupCalorimeter('BeamCal') + return self + + def test_config(self, have_geo=True): + self.kernel.configure() + if have_geo: + self.kernel.initialize() # Test runner def test_run(self, have_geo=True, have_physics=False): - self.kernel.configure() + self.test_config(have_geo) if have_geo: - self.kernel.initialize() self.kernel.NumEvents = 0 self.kernel.run() self.kernel.terminate() -- GitLab