2 from G4AtlasServices.G4AtlasServicesConfig 
import PhysicsListSvcCfg
 
    3 from ISF_Services.ISF_ServicesConfig 
import TruthServiceCfg, InputConverterCfg
 
    4 from ISF_Services.ISF_ServicesCoreConfig 
import GeoIDSvcCfg
 
    5 from G4AtlasTools.G4GeometryToolConfig 
import G4AtlasDetectorConstructionToolCfg
 
    6 from G4AtlasTools.G4AtlasToolsConfig 
import G4ThreadPoolSvcCfg, SensitiveDetectorMasterToolCfg, FastSimulationMasterToolCfg
 
    7 from G4AtlasServices.G4AtlasUserActionConfig 
import UserActionSvcCfg
 
    8 from SimulationConfig.SimulationMetadata 
import writeSimulationParametersMetadata, readSimulationParameters
 
    9 from AthenaConfiguration.ComponentFactory 
import CompFactory
 
   10 from AthenaConfiguration.ComponentAccumulator 
import ComponentAccumulator
 
   14     """Return ComponentAccumulator configured for Atlas G4 simulation, without output""" 
   17     from SimulationConfig.SimEnums 
import LArParameterization
 
   18     if flags.Sim.LArParameterization 
is LArParameterization.FastCaloSim:
 
   21         result.addEventAlgo(CompFactory.G4AtlasAlg(name, **kwargs))
 
   22     kwargs.setdefault(
"UseShadowEvent", flags.Sim.UseShadowEvent)
 
   23     if flags.Sim.UseShadowEvent 
and "TruthPreselectionTool" not in kwargs:
 
   24         from ISF_HepMC_Tools.ISF_HepMC_ToolsConfig 
import TruthPreselectionToolCfg
 
   29     kwargs.setdefault(
"InputTruthCollection", 
"BeamTruthEvent") 
 
   30     kwargs.setdefault(
"OutputTruthCollection", 
"TruthEvent")
 
   34     kwargs.setdefault(
"ReleaseGeoModel", flags.Sim.ReleaseGeoModel)
 
   36     from G4AtlasTools.G4AtlasToolsConfig 
import SimHitContainerListCfg, InputContainerListCfg
 
   40     from SimulationConfig.SimEnums 
import LArParameterization
 
   42     if flags.Sim.LArParameterization 
is LArParameterization.FastCaloSim:
 
   43         from G4AtlasTools.G4AtlasToolsConfig 
import PunchThroughG4ToolCfg
 
   44         physics_initialization_tools = kwargs.setdefault(
"PhysicsInitializationTools", [])
 
   45         physics_initialization_tools.append(result.addPublicTool(result.popToolsAndMerge(
PunchThroughG4ToolCfg(flags))))
 
   47         if flags.Sim.SimplifiedGeoPath:
 
   48             kwargs.setdefault(
'SimplifiedGeoPath', flags.Sim.SimplifiedGeoPath)
 
   51     if flags.Sim.LArParameterization 
is LArParameterization.FastCaloSim 
and flags.Sim.SimplifiedGeoPath:
 
   52         kwargs.setdefault(
"SimplifiedGeoPath", flags.Sim.SimplifiedGeoPath)
 
   55     kwargs.setdefault(
"RecordFlux", flags.Sim.RecordFlux)
 
   57     if flags.Sim.FlagAbortedEvents:
 
   59         kwargs.setdefault(
"FlagAbortedEvents", flags.Sim.FlagAbortedEvents)
 
   60         if flags.Sim.FlagAbortedEvents 
and flags.Sim.KillAbortedEvents:
 
   61             print(
"WARNING When G4AtlasAlg.FlagAbortedEvents is True G4AtlasAlg.KillAbortedEvents should be False. Setting G4AtlasAlg.KillAbortedEvents = False now.")
 
   62             kwargs.setdefault(
"KillAbortedEvents", 
False)
 
   65     kwargs.setdefault(
"KillAbortedEvents", flags.Sim.KillAbortedEvents)
 
   67     from RngComps.RngCompsConfig 
import AthRNGSvcCfg
 
   68     kwargs.setdefault(
"AtRndmGenSvc",
 
   71     kwargs.setdefault(
"RandomGenerator", 
"athena")
 
   74     is_hive = flags.Concurrency.NumThreads > 0
 
   75     kwargs.setdefault(
"MultiThreading", is_hive)
 
   78         kwargs.setdefault(
'Cardinality', flags.Concurrency.NumThreads)
 
   80     kwargs.setdefault(
"TruthRecordService", result.getPrimaryAndMerge(
TruthServiceCfg(flags)))
 
   81     kwargs.setdefault(
"GeoIDSvc", result.getPrimaryAndMerge(
GeoIDSvcCfg(flags)))
 
   84     kwargs.setdefault(
"InputConverter", result.getPrimaryAndMerge(
InputConverterCfg(flags)))
 
   85     if flags.Sim.ISF.Simulator.isQuasiStable():
 
   86         from BeamEffects.BeamEffectsAlgConfig 
import ZeroLifetimePositionerCfg
 
  100     kwargs.setdefault(
"UserActionSvc", result.getPrimaryAndMerge(
UserActionSvcCfg(flags)))
 
  103     kwargs.setdefault(
"PhysicsListSvc", result.getPrimaryAndMerge(
PhysicsListSvcCfg(flags)))
 
  109     verbosities=dict(foo=
"bar")
 
  110     kwargs.setdefault(
"Verbosities", verbosities)
 
  111     kwargs.setdefault(
"QuietMode", flags.Exec.QuietMode)
 
  114     kwargs.setdefault(
"G4Commands", flags.Sim.G4Commands)
 
  115     result.addEventAlgo(CompFactory.G4AtlasAlg(name, **kwargs))