Skip to content

Commit

Permalink
Fix python style errors. Get example tolerances right
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkusFrankATcernch committed Jul 3, 2024
1 parent ca81684 commit 7187f49
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 36 deletions.
4 changes: 2 additions & 2 deletions DDG4/python/DDG4.py
Original file line number Diff line number Diff line change
Expand Up @@ -670,7 +670,7 @@ def setupDetector(self, name, action, collections=None):
return (seq, acts)
return (seq, acts[0])

def setupCalorimeter(self, name, type=None, collections=None): # noqa: A002
def setupCalorimeter(self, name, type=None, collections=None): # noqa: A001,A002
"""
Setup subdetector of type 'calorimeter' and assign the proper sensitive action
Expand All @@ -686,7 +686,7 @@ def setupCalorimeter(self, name, type=None, collections=None): # noqa: A002
typ = self.sensitive_types[typ]
return self.setupDetector(name, typ, collections)

def setupTracker(self, name, type=None, collections=None): # noqa: A002
def setupTracker(self, name, type=None, collections=None): # noqa: A001,A002
"""
Setup subdetector of type 'tracker' and assign the proper sensitive action
Expand Down
44 changes: 11 additions & 33 deletions examples/ClientTests/scripts/BoxOfStraws.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
from __future__ import absolute_import, unicode_literals
import os
import time
import cmath
import DDG4
from DDG4 import OutputLevel as Output
from g4units import GeV, MeV, m
Expand Down Expand Up @@ -46,70 +45,49 @@ def run():
ui = geant4.setupCshUI()
if args.batch:
ui.Commands = ['/run/beamOn ' + str(args.events), '/ddg4/UI/terminate']

if args.print:
logger.setPrintLevel(int(args.print))
#
# Configure field
geant4.setupTrackingField(prt=True)
# Configure Event actions
prt = DDG4.EventAction(kernel, 'Geant4ParticlePrint/ParticlePrint')
prt.OutputLevel = Output.DEBUG
prt.OutputType = 3
kernel.eventAction().adopt(prt)

generator_output_level = Output.DEBUG

#
# Configure G4 geometry setup
seq, act = geant4.addDetectorConstruction("Geant4DetectorGeometryConstruction/ConstructGeo")
act.DebugVolumes = True
#
# Assign sensitive detectors according to the declarations 'tracker' or 'calorimeter', etc
seq, act = geant4.addDetectorConstruction("Geant4DetectorSensitivesConstruction/ConstructSD")
#
#
# Assign sensitive detectors in Geant4 by matching a regular expression in the detector sub-tree
seq, act = geant4.addDetectorConstruction("Geant4RegexSensitivesConstruction/ConstructSDRegEx")
act.Detector = 'BoxOfStrawsDet'
act.Regex = '/world_volume_(.*)/BoxOfStrawsDet_(.*)/row_(.*)/straw_(.*)'
act.OutputLevel = Output.ALWAYS
act.enableUI()

act.Regex = '/world_volume_(.*)/BoxOfStrawsDet_(.*)/row_(.*)/straw_(.*)'
#
# Configure I/O
geant4.setupROOTOutput('RootOutput', 'BoxOfStraws_' + time.strftime('%Y-%m-%d_%H-%M'))

#
# Setup particle gun
gun = geant4.setupGun("Gun", particle='e+', energy=10 * GeV, multiplicity=1)
gun.OutputLevel = Output.DEBUG

#
# And handle the simulation particles.
part = DDG4.GeneratorAction(kernel, "Geant4ParticleHandler/ParticleHandler")
kernel.generatorAction().adopt(part)
part.SaveProcesses = ['Decay']
part.MinimalKineticEnergy = 100 * MeV
part.OutputLevel = Output.DEBUG # generator_output_level
part.enableUI()
user = DDG4.Action(kernel, "Geant4TCUserParticleHandler/UserParticleHandler")
user.TrackingVolume_Zmax = 2.5 * m
user.TrackingVolume_Rmax = 2.5 * m
user.enableUI()
part.adopt(user)

#
# Map sensitive detectors of type 'BoxOfStraws' to Geant4CalorimeterAction
sd = geant4.description.sensitiveDetector(str('BoxOfStrawsDet'))
logger.info(f'+++ BoxOfStraws: SD type: {str(sd.type())}')
seq, act = geant4.setupDetector(name='BoxOfStrawsDet', action='MyTrackerSDAction')
act.HaveCellID = False

#
# Now build the physics list:
phys = geant4.setupPhysics(str('QGSP_BERT'))
ph = DDG4.PhysicsList(kernel, str('Geant4PhysicsList/Myphysics'))
# Add b osons to the model (redundant if already implemented by the model)
ph.addParticleGroup(str('G4BosonConstructor'))
ph.addParticleGroup(str('G4BaryonConstructor'))
ph.addParticleGroup(str('G4MesonConstructor'))
ph.addParticleGroup(str('G4LeptonConstructor'))
# Add multiple scattering in the material
ph.addParticleProcess(str('e[+-]'), str('G4eMultipleScattering'), -1, 1, 1)
# Interactivity
ph.enableUI()
phys.adopt(ph)
phys.dump()
geant4.execute()

Expand Down
3 changes: 2 additions & 1 deletion examples/ClientTests/src/BoxOfStraws_geo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
//
//==========================================================================
#include <DD4hep/DetFactoryHelper.h>
#include <DD4hep/DD4hepUnits.h>
#include <DD4hep/Printout.h>

using namespace dd4hep;

static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector sens) {
double tol = 1e-2;
double tol = 1e-5 * dd4hep::mm;
xml_det_t x_det = e;
xml_dim_t x_box = x_det.child(_U(box));
xml_dim_t x_rot = x_det.child(_U(rotation));
Expand Down

0 comments on commit 7187f49

Please sign in to comment.