3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
5from SimulationConfig.SimEnums
import CalibrationRun
15 result = ComponentAccumulator()
17 if "ATLAS" in flags.GeoModel.AtlasVersion:
18 kwargs.setdefault(
'KillAllNeutrinos',
True)
20 if flags.Sim.NRRThreshold
and flags.Sim.NRRWeight:
21 if flags.Sim.CalibrationRun
is not CalibrationRun.Off:
22 raise NotImplementedError(
"Neutron Russian Roulette should not be used in Calibration Runs.")
23 kwargs.setdefault(
'ApplyNRR',
True)
24 kwargs.setdefault(
'NRRThreshold', flags.Sim.NRRThreshold)
25 kwargs.setdefault(
'NRRWeight', flags.Sim.NRRWeight)
27 if flags.Sim.PRRThreshold
and flags.Sim.PRRWeight:
28 if flags.Sim.CalibrationRun
is not CalibrationRun.Off:
29 raise NotImplementedError(
"Photon Russian Roulette should not be used in Calibration Runs.")
30 kwargs.setdefault(
'ApplyPRR',
True)
31 kwargs.setdefault(
'PRRThreshold', flags.Sim.PRRThreshold)
32 kwargs.setdefault(
'PRRWeight', flags.Sim.PRRWeight)
33 kwargs.setdefault(
'IsISFJob', flags.Sim.ISFRun)
35 result.setPrivateTools( CompFactory.G4UA.AthenaStackingActionTool(name,**kwargs) )
40 result = ComponentAccumulator()
41 kwargs.setdefault('SecondarySavingLevel', 2)
44 if "ATLAS" in flags.GeoModel.AtlasVersion
and flags.Detector.GeometryCavern:
47 kwargs.setdefault(
'SubDetVolumeLevel', subDetLevel)
48 result.setPrivateTools( CompFactory.G4UA.AthenaTrackingActionTool(name,**kwargs) )
53 result = ComponentAccumulator()
54 result.setPrivateTools(CompFactory.G4UA.LooperKillerTool(name, **kwargs))
59 kwargs.setdefault("MaxSteps", 2000000)
60 kwargs.setdefault(
"PrintSteps", 2)
61 kwargs.setdefault(
"VerboseLevel", 0)
62 kwargs.setdefault(
"BSM_Only",
True)
67 result = ComponentAccumulator()
68 result.setPrivateTools(CompFactory.G4UA.G4SimTimerTool(name,**kwargs))
73 result = ComponentAccumulator()
74 result.setPrivateTools(CompFactory.G4UA.G4TrackCounterTool(name,**kwargs))
80 result = ComponentAccumulator()
86 result.setPrivateTools(CompFactory.G4UA.StoppedParticleActionTool(name, **kwargs))
91 result = ComponentAccumulator()
92 result.setPrivateTools(CompFactory.G4UA.FixG4CreatorProcessTool(name, **kwargs))
97 result = ComponentAccumulator()
103 result.setPrivateTools(CompFactory.G4UA.HitWrapperTool(name, **kwargs))
108 THistSvc= CompFactory.THistSvc
109 result = ComponentAccumulator()
110 histsvc = THistSvc(name="THistSvc")
111 histsvc.Output = [
"lengths DATAFILE='LengthIntegrator.root' OPT='RECREATE'"]
112 result.addService(histsvc)
113 kwargs.setdefault(
"HistoSvc",
"THistSvc")
114 result.setPrivateTools(CompFactory.G4UA.LengthIntegratorTool(name, **kwargs))
118 result = ComponentAccumulator()
119 kwargs.setdefault("ActivationFileName",
"Activations.txt")
120 kwargs.setdefault(
"NBinsDPhi",1)
121 kwargs.setdefault(
"NBinsTheta",1)
122 kwargs.setdefault(
"NBinsR3D",120)
123 kwargs.setdefault(
"NBinsZ3D",240)
124 kwargs.setdefault(
"NBinsPhi3D",28)
125 kwargs.setdefault(
"NBinsLogTimeCut",26)
126 kwargs.setdefault(
"PhiMinZoom",0.0)
127 kwargs.setdefault(
"PhiMaxZoom",22.5)
128 kwargs.setdefault(
"LogTMin",-3.0)
129 kwargs.setdefault(
"LogTMax",10.0)
130 kwargs.setdefault(
"ElemZMin",1)
131 kwargs.setdefault(
"ElemZMax",1)
132 result.setPrivateTools(CompFactory.G4UA.RadiationMapsMakerTool(name, **kwargs))
137 result = ComponentAccumulator()
138 result.setPrivateTools(CompFactory.G4UA.HIPKillerTool(name, **kwargs))
144 isDalek = True : kill all particles with kinetic energy below
145 'energyCut' leaving the ID envelope (R,Z).
147 isDalek = False : kill all particles leaving the ID envelope
148 (R,Z), except e+-/gamma with total energy >= 'energyCut'
150 result = ComponentAccumulator()
157 kwargs.setdefault(
"energyCut", 100.*MeV)
158 kwargs.setdefault(
"isDalek",
False)
159 kwargs.setdefault(
"R", 1150.*mm)
160 kwargs.setdefault(
"Z", 3490.*mm)
161 result.setPrivateTools(CompFactory.G4UA.FastIDKillerTool(name, **kwargs))
LengthIntegratorToolCfg(flags, name="G4UA::UserActionSvc.LengthIntegratorTool", **kwargs)
FixG4CreatorProcessToolCfg(flags, name="G4UA::FixG4CreatorProcessTool", **kwargs)
RadiationMapsMakerToolCfg(flags, name="G4UA::UserActionSvc.RadiationMapsMakerTool", **kwargs)
AthenaTrackingActionToolCfg(flags, name='G4UA::AthenaTrackingActionTool', **kwargs)
AthenaStackingActionToolCfg(flags, name='G4UA::AthenaStackingActionTool', **kwargs)
LooperKillerToolCfg(flags, name='G4UA::LooperKillerTool', **kwargs)
StoppedParticleActionToolCfg(flags, name="G4UA::StoppedParticleActionTool", **kwargs)
HitWrapperToolCfg(flags, name="G4UA::HitWrapperTool", **kwargs)
MonopoleLooperKillerToolCfg(flags, name="G4UA::MonopoleLooperKillerTool", **kwargs)
G4SimTimerToolCfg(flags, name='G4UA::G4SimTimerTool', **kwargs)
HIPKillerToolCfg(flags, name="G4UA::HIPKillerTool", **kwargs)
G4TrackCounterToolCfg(flags, name='G4UA::G4TrackCounterTool', **kwargs)
FastIDKillerToolCfg(flags, name="G4UA::FastIDKillerTool", **kwargs)