diff --git a/DDG4/python/DDG4.py b/DDG4/python/DDG4.py index 4f1289325de344ed5369e77db32d744270e82758..214ae4523a9961ce4d6124b65bfb9f55ba3ea104 100644 --- a/DDG4/python/DDG4.py +++ b/DDG4/python/DDG4.py @@ -148,7 +148,7 @@ def _setKernelProperty(self, name, value): raise KeyError(msg) #--------------------------------------------------------------------------- -def _kernel_phase(self,name): return self.addSimplePhase(name,False) +def _kernel_phase(self,name): return self.addSimplePhase(str(name),False) #--------------------------------------------------------------------------- def _kernel_worker(self): return Kernel(self.get().createWorker()) #--------------------------------------------------------------------------- @@ -165,46 +165,46 @@ Kernel.terminate = _kernel_terminate ActionHandle = Sim.ActionHandle #--------------------------------------------------------------------------- def SensitiveAction(kernel,nam,det,shared=False): - return Interface.createSensitive(kernel,nam,det,shared) + return Interface.createSensitive(kernel,str(nam),det,shared) #--------------------------------------------------------------------------- def Action(kernel,nam,shared=False): - return Interface.createAction(kernel,nam,shared) + return Interface.createAction(kernel,str(nam), shared) #--------------------------------------------------------------------------- def Filter(kernel,nam,shared=False): - return Interface.createFilter(kernel,nam,shared) + return Interface.createFilter(kernel,str(nam), shared) #--------------------------------------------------------------------------- def PhaseAction(kernel,nam,shared=False): - return Interface.createPhaseAction(kernel,nam,shared) + return Interface.createPhaseAction(kernel,str(nam), shared) #--------------------------------------------------------------------------- def RunAction(kernel,nam,shared=False): - return Interface.createRunAction(kernel,nam,shared) + return Interface.createRunAction(kernel,str(nam), shared) #--------------------------------------------------------------------------- def EventAction(kernel,nam,shared=False): - return Interface.createEventAction(kernel,nam,shared) + return Interface.createEventAction(kernel,str(nam), shared) #--------------------------------------------------------------------------- def GeneratorAction(kernel,nam,shared=False): - return Interface.createGeneratorAction(kernel,nam,shared) + return Interface.createGeneratorAction(kernel,str(nam), shared) #--------------------------------------------------------------------------- def TrackingAction(kernel,nam,shared=False): - return Interface.createTrackingAction(kernel,nam,shared) + return Interface.createTrackingAction(kernel,str(nam), shared) #--------------------------------------------------------------------------- def SteppingAction(kernel,nam,shared=False): - return Interface.createSteppingAction(kernel,nam,shared) + return Interface.createSteppingAction(kernel,str(nam), shared) #--------------------------------------------------------------------------- def StackingAction(kernel,nam,shared=False): - return Interface.createStackingAction(kernel,nam,shared) + return Interface.createStackingAction(kernel,str(nam), shared) #--------------------------------------------------------------------------- def DetectorConstruction(kernel,nam): - return Interface.createDetectorConstruction(kernel,nam) + return Interface.createDetectorConstruction(kernel,str(nam)) #--------------------------------------------------------------------------- def PhysicsList(kernel,nam): - return Interface.createPhysicsList(kernel,nam) + return Interface.createPhysicsList(kernel,str(nam)) #--------------------------------------------------------------------------- def UserInitialization(kernel, nam): - return Interface.createUserInitialization(kernel,nam) + return Interface.createUserInitialization(kernel,str(nam)) #--------------------------------------------------------------------------- def SensitiveSequence(kernel, nam): - return Interface.createSensDetSequence(kernel,nam) + return Interface.createSensDetSequence(kernel,str(nam)) #--------------------------------------------------------------------------- def _setup(obj): def _adopt(self,action): self.__adopt(action.get()) @@ -272,6 +272,8 @@ def _get(self, name): def _set(self, name, value): a = Interface.toAction(self) + if isinstance(value,list): + value = [str(x) for x in value] if Interface.setProperty(a,name,str(value)): return msg = 'Geant4Action::SetProperty [Unhandled]: Cannot set '+a.name()+'.'+name+' = '+str(value) diff --git a/DDG4/python/DDSim/DD4hepSimulation.py b/DDG4/python/DDSim/DD4hepSimulation.py index a937b3a7762976ee5ffc75dfeb4405d05122064b..cb49d140f5a94bcbfca13b11853782c816932115 100644 --- a/DDG4/python/DDSim/DD4hepSimulation.py +++ b/DDG4/python/DDSim/DD4hepSimulation.py @@ -292,7 +292,7 @@ class DD4hepSimulation(object): dd4hep.setPrintLevel(self.printLevel) #kernel.setOutputLevel('Compact',1) - kernel.loadGeometry("file:"+ self.compactFile ) + kernel.loadGeometry(str("file:"+ self.compactFile )) detectorDescription = kernel.detectorDescription() DDG4.importConstants( detectorDescription ) @@ -459,7 +459,7 @@ class DD4hepSimulation(object): ## add the G4StepLimiterPhysics to activate the max step limits in volumes ph = DDG4.PhysicsList(kernel,'Geant4PhysicsList/Myphysics') - ph.addPhysicsConstructor('G4StepLimiterPhysics') + ph.addPhysicsConstructor(str('G4StepLimiterPhysics')) _phys.add(ph) dd4hep.setPrintLevel(self.printLevel)