55def FastCaloSimCfg(flags, **kwargs):
56 result = ComponentAccumulator()
57
58 from ISF_FastCaloSimServices.ISF_FastCaloSimServicesConfig import FastCaloSimV2ParamSvcCfg
59 kwargs.setdefault("ISF_FastCaloSimV2ParamSvc", result.getPrimaryAndMerge(FastCaloSimV2ParamSvcCfg(flags)))
60
61 from ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConfig import FastCaloSimCaloExtrapolationCfg
62 kwargs.setdefault("FastCaloSimCaloExtrapolation", result.addPublicTool(result.popToolsAndMerge(FastCaloSimCaloExtrapolationCfg(flags))))
63
64 kwargs.setdefault("RegionName", "CALO")
65 kwargs.setdefault('CaloCellContainerSDName', "ToolSvc.SensitiveDetectorMasterTool.CaloCellContainerSD")
66
67
68 from G4AtlasTools.G4AtlasToolsConfig import G4CaloTransportToolCfg
69 kwargs.setdefault("G4CaloTransportTool", result.addPublicTool(result.popToolsAndMerge(G4CaloTransportToolCfg(flags))))
70
71
72 from G4AtlasTools.G4AtlasToolsConfig import PunchThroughSimWrapperCfg
73 if "PunchThroughSimWrapper" not in kwargs:
74 kwargs.setdefault("PunchThroughSimWrapper", result.addPublicTool(result.popToolsAndMerge(PunchThroughSimWrapperCfg(flags))))
75
76
77 kwargs.setdefault('doPunchThrough', flags.Sim.FastCalo.doPunchThrough)
78
79 result.setPrivateTools(CompFactory.FastCaloSimTool(name="FastCaloSim", **kwargs))
80 return result