20def FastCaloSimCfg(flags, **kwargs):
21 result = ComponentAccumulator()
22
23 from ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig import FastCaloSimV2ParamSvcCfg
24 kwargs.setdefault("ISF_FastCaloSimV2ParamSvc", result.getPrimaryAndMerge(FastCaloSimV2ParamSvcCfg(flags)))
25
26 from ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConfig import FastCaloSimCaloExtrapolationCfg
27 kwargs.setdefault("FastCaloSimCaloExtrapolation", result.addPublicTool(result.popToolsAndMerge(FastCaloSimCaloExtrapolationCfg(flags))))
28
29 kwargs.setdefault("RegionName", "CALO")
30 kwargs.setdefault('CaloCellContainerSDName', "ToolSvc.SensitiveDetectorMasterTool.CaloCellContainerSD")
31
32 if flags.Sim.SimplifiedGeoPath:
33
34 kwargs.setdefault('doG4Transport', True)
35 else:
36 kwargs.setdefault('doG4Transport', False)
37
38
39 from G4AtlasTools.G4AtlasToolsConfig import G4CaloTransportToolCfg
40 kwargs.setdefault("G4CaloTransportTool", result.addPublicTool(result.popToolsAndMerge(G4CaloTransportToolCfg(flags))))
41
42
43 from G4AtlasTools.G4AtlasToolsConfig import PunchThroughSimWrapperCfg
44 if "PunchThroughSimWrapper" not in kwargs:
45 kwargs.setdefault("PunchThroughSimWrapper", result.addPublicTool(result.popToolsAndMerge(PunchThroughSimWrapperCfg(flags))))
46
47
48 kwargs.setdefault('doPunchThrough', flags.Sim.FastCalo.doPunchThrough)
49
50 result.setPrivateTools(CompFactory.FastCaloSimTool(name="FastCaloSim", **kwargs))
51 return result