31def FastCaloSimCfg(flags, **kwargs):
32 result = ComponentAccumulator()
33
34 from ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig import FastCaloSimV2ParamSvcCfg
35 kwargs.setdefault("ISF_FastCaloSimV2ParamSvc", result.getPrimaryAndMerge(FastCaloSimV2ParamSvcCfg(flags)))
36
37 from ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConfig import FastCaloSimCaloExtrapolationCfg
38 kwargs.setdefault("FastCaloSimCaloExtrapolation", result.addPublicTool(result.popToolsAndMerge(FastCaloSimCaloExtrapolationCfg(flags))))
39
40 kwargs.setdefault("RegionName", "CALO")
41 kwargs.setdefault('CaloCellContainerSDName', "ToolSvc.SensitiveDetectorMasterTool.CaloCellContainerSD")
42
43
44 from G4AtlasTools.G4AtlasToolsConfig import G4CaloTransportToolCfg
45 kwargs.setdefault("G4CaloTransportTool", result.addPublicTool(result.popToolsAndMerge(G4CaloTransportToolCfg(flags))))
46
47
48 from G4AtlasTools.G4AtlasToolsConfig import PunchThroughSimWrapperCfg
49 if "PunchThroughSimWrapper" not in kwargs:
50 kwargs.setdefault("PunchThroughSimWrapper", result.addPublicTool(result.popToolsAndMerge(PunchThroughSimWrapperCfg(flags))))
51
52
53 kwargs.setdefault('doPunchThrough', flags.Sim.FastCalo.doPunchThrough)
54
55 result.setPrivateTools(CompFactory.FastCaloSimTool(name="FastCaloSim", **kwargs))
56 return result