14def AtlasExtrapolationEngineCfg( flags, name = 'Extrapolation', nameprefix='Atlas' ):
15 result=ComponentAccumulator()
16
17 acc = AtlasFieldCacheCondAlgCfg(flags)
18 result.merge(acc)
19
20
21 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
22 result.merge( TrackingGeometryCondAlgCfg(flags) )
23 geom_cond_key = 'AtlasTrackingGeometry'
24
25 from TrkConfig.TrkExRungeKuttaPropagatorConfig import RungeKuttaPropagatorCfg
26 AtlasRungeKuttaPropagator = acc.popToolsAndMerge(RungeKuttaPropagatorCfg(flags, name='AtlasRungeKuttaPropagator'))
27
28
29 Trk__PropagationEngine=CompFactory.Trk.PropagationEngine
30 staticPropagator = Trk__PropagationEngine(name = nameprefix+'StaticPropagation')
31
32 staticPropagator.Propagator = AtlasRungeKuttaPropagator
33
34 staticPropagator.OutputPrefix = '[SP] - '
35 staticPropagator.OutputPostfix = ' - '
36 result.addPublicTool(staticPropagator)
37
38
39 Trk__MaterialEffectsEngine=CompFactory.Trk.MaterialEffectsEngine
40 materialEffectsEngine = Trk__MaterialEffectsEngine(name = nameprefix+'MaterialEffects')
41
42 materialEffectsEngine.OutputPrefix = '[ME] - '
43 materialEffectsEngine.OutputPostfix = ' - '
44 result.addPublicTool(materialEffectsEngine)
45
46
47
48 Trk__StaticNavigationEngine=CompFactory.Trk.StaticNavigationEngine
49 staticNavigator = Trk__StaticNavigationEngine(name = nameprefix+'StaticNavigation')
50
51 staticNavigator.PropagationEngine = staticPropagator
52 staticNavigator.MaterialEffectsEngine = materialEffectsEngine
53 staticNavigator.TrackingGeometryReadKey = geom_cond_key
54
55
56 staticNavigator.OutputPrefix = '[SN] - '
57 staticNavigator.OutputPostfix = ' - '
58
59 result.addPublicTool(staticNavigator)
60
61
62 Trk__StaticEngine=CompFactory.Trk.StaticEngine
63 staticExtrapolator = Trk__StaticEngine(name = nameprefix+'StaticExtrapolation')
64
65 staticExtrapolator.PropagationEngine = staticPropagator
66 staticExtrapolator.MaterialEffectsEngine = materialEffectsEngine
67 staticExtrapolator.NavigationEngine = staticNavigator
68
69 staticExtrapolator.OutputPrefix = '[SE] - '
70 staticExtrapolator.OutputPostfix = ' - '
71
72 result.addPublicTool(staticExtrapolator)
73
74
75 extrapolator = ExEngine(name=nameprefix+'Extrapolation',
76 ExtrapolationEngines = [ staticExtrapolator ],
77 PropagationEngine = staticPropagator,
78 NavigationEngine = staticNavigator,
79 TrackingGeometryReadKey = geom_cond_key,
80 OutputPrefix = '[ME] - ',
81 OutputPostfix = ' - ')
82
83 result.addPublicTool(extrapolator, primary=True)
84 return result
85