Skip to content
Snippets Groups Projects
Commit 8d3583f4 authored by John Chapman's avatar John Chapman
Browse files

Add CA-based configuration for the FastIDKiller

parent 3a94f465
No related branches found
No related tags found
No related merge requests found
......@@ -135,3 +135,26 @@ def MonopoleLooperKillerToolCfg(flags, name="G4UA::MonopoleLooperKillerTool", **
kwargs.setdefault("PrintSteps",2)
kwargs.setdefault("VerboseLevel",0)
return LooperKillerToolCfg(flags, name, **kwargs)
def FastIDKillerToolCfg(flags, name="G4UA::FastIDKillerTool", **kwargs):
"""
isDalek = True : kill all particles with kinetic energy below
'energyCut' leaving the ID envelope (R,Z).
isDalek = False : kill all particles leaving the ID envelope
(R,Z), except e+-/gamma with total energy >= 'energyCut'
"""
result = ComponentAccumulator()
# FIXME UserActionConfig not yet migrated
# example custom configuration
# if name in flags.Sim.UserActionConfig.keys():
# for prop,value in flags.Sim.UserActionConfig[name].iteritems():
# kwargs.setdefault(prop,value)
from AthenaCommon.SystemOfUnits import MeV, mm
kwargs.setdefault("energyCut", 100.*MeV); # Energy cut in MeV
kwargs.setdefault("isDalek", False);
kwargs.setdefault("R", 1150.*mm); # ID outer radius
kwargs.setdefault("Z", 3490.*mm); # ID maximum Z coordiate
result.setPrivateTools(CompFactory.G4UA.FastIDKillerTool(name, **kwargs))
return result
......@@ -96,3 +96,8 @@ def enableParticleID(flags):
def enableVerboseSelector(flags):
""" """
flags.Sim.OptionalUserActionList += ['G4DebuggingTools.G4DebuggingToolsConfig.VerboseSelectorToolCfg']
def enableFastIDKiller(flags):
""" """
flags.Sim.OptionalUserActionList += ['G4UserActions.G4UserActionsConfig.FastIDKillerToolCfg']
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
from .SimulationHelpers import enableFrozenShowersFCalOnly as FrozenShowersFCalOnly
from .SimulationHelpers import enableBeamPipeKill as BeamPipeKill
......@@ -6,5 +6,6 @@ from .SimulationHelpers import enableTightMuonStepping as TightMuonStepping
from .SimulationHelpers import enableG4SignalCavern as G4SignalCavern
from .SimulationHelpers import enableCalHits as CalHits
from .SimulationHelpers import enableParticleID as ParticleID
from .SimulationHelpers import enableFastIDKiller as enableFastIDKiller
__all__ = ['FrozenShowersFCalOnly', 'BeamPipeKill', 'TightMuonStepping', 'G4SignalCavern', 'CalHits', 'ParticleID']
__all__ = ['FrozenShowersFCalOnly', 'BeamPipeKill', 'TightMuonStepping', 'G4SignalCavern', 'CalHits', 'ParticleID', 'enableFastIDKiller']
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment