9def NITimedExtrapolatorCfg(flags, name="ISF_NITimedExtrapolator", **kwargs):
10 result = ComponentAccumulator()
11 mlog = logging.getLogger(name)
12 mlog.debug("Start configuration")
13
14
15 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
16 result.merge(AtlasFieldCacheCondAlgCfg(flags))
17
18 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBCfg
19 result.merge(LArElecCalibDBCfg(flags, ["fSampl"]))
20
21 TimedPropagators = []
22 TimedUpdators = []
23
24
25 kwargs.setdefault("Navigator", result.addPublicTool(result.popToolsAndMerge(TC.FastSimNavigatorCfg(flags))))
26
27
28 from TrkConfig.TrkExRungeKuttaPropagatorConfig import RungeKuttaPropagatorCfg
29 AtlasRungeKuttaPropagator = result.popToolsAndMerge(RungeKuttaPropagatorCfg(flags))
30 TimedPropagators += [result.addPublicTool(AtlasRungeKuttaPropagator)]
31
32 from TrkConfig.TrkExSTEP_PropagatorConfig import AtlasNoMatSTEP_PropagatorCfg
33 AtlasSTEP_Propagator = result.popToolsAndMerge(AtlasNoMatSTEP_PropagatorCfg(flags))
34 TimedPropagators += [result.addPublicTool(AtlasSTEP_Propagator)]
35 kwargs.setdefault("STEP_Propagator", result.getPublicTool(AtlasSTEP_Propagator.name))
36
37
38 MaterialEffectsUpdator = result.popToolsAndMerge(TC.AtlasMaterialEffectsUpdatorCfg(flags))
39 result.addPublicTool(MaterialEffectsUpdator)
40
41 NIMatEffUpdator = result.popToolsAndMerge(TC.NIMatEffUpdatorCfg(flags))
42 TimedUpdators += [result.addPublicTool(NIMatEffUpdator)]
43
44 kwargs.setdefault("ApplyMaterialEffects", False)
45
46
47
48 TimedSubPropagators = []
49 TimedSubUpdators = []
50
51
52
53 TimedSubPropagators += [ AtlasRungeKuttaPropagator.name ]
54 TimedSubUpdators += [ MaterialEffectsUpdator.name ]
55
56
57 TimedSubPropagators += [ AtlasRungeKuttaPropagator.name ]
58 TimedSubUpdators += [ MaterialEffectsUpdator.name ]
59
60
61 TimedSubPropagators += [ AtlasRungeKuttaPropagator.name ]
62 TimedSubUpdators += [ MaterialEffectsUpdator.name ]
63
64
65 TimedSubPropagators += [ AtlasSTEP_Propagator.name ]
66 TimedSubUpdators += [ NIMatEffUpdator.name ]
67
68
69 TimedSubPropagators += [ AtlasSTEP_Propagator.name ]
70 TimedSubUpdators += [ MaterialEffectsUpdator.name ]
71
72
73 TimedSubPropagators += [ AtlasRungeKuttaPropagator.name ]
74 TimedSubUpdators += [ MaterialEffectsUpdator.name ]
75
76
77
78 kwargs.setdefault("MaterialEffectsUpdators", TimedUpdators)
79 kwargs.setdefault("Propagators", TimedPropagators)
80 kwargs.setdefault("SubPropagators", TimedSubPropagators)
81 kwargs.setdefault("SubMEUpdators", TimedSubUpdators)
82 from TrkConfig.AtlasExtrapolatorToolsConfig import AtlasEnergyLossUpdatorCfg
83 kwargs.setdefault("EnergyLossUpdater",
84 result.addPublicTool(result.popToolsAndMerge(AtlasEnergyLossUpdatorCfg(flags))))
85
86 result.setPrivateTools(CompFactory.Trk.TimedExtrapolator(name, **kwargs))
87 return result