ATLAS Offline Software
Loading...
Searching...
No Matches
G4FieldConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2
3# ComponentAccumulator based configuration
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory import CompFactory
6GlobalFieldManagerTool, DetectorFieldManagerTool=CompFactory.getComps("GlobalFieldManagerTool","DetectorFieldManagerTool",)
7from G4AtlasServices.G4AtlasFieldServices import StandardFieldSvcCfg, Q1FwdG4FieldSvcCfg, Q2FwdG4FieldSvcCfg, Q3FwdG4FieldSvcCfg, D1FwdG4FieldSvcCfg, D2FwdG4FieldSvcCfg, Q4FwdG4FieldSvcCfg, Q5FwdG4FieldSvcCfg, Q6FwdG4FieldSvcCfg, Q7FwdG4FieldSvcCfg, Q1HKickFwdG4FieldSvcCfg, Q1VKickFwdG4FieldSvcCfg, Q2HKickFwdG4FieldSvcCfg, Q2VKickFwdG4FieldSvcCfg, Q3HKickFwdG4FieldSvcCfg, Q3VKickFwdG4FieldSvcCfg, Q4VKickAFwdG4FieldSvcCfg, Q4HKickFwdG4FieldSvcCfg, Q4VKickBFwdG4FieldSvcCfg, Q5HKickFwdG4FieldSvcCfg, Q6VKickFwdG4FieldSvcCfg
8
9
10def EquationOfMotionCfg(flags, **kwargs):
11 """Return the TruthService config flagged by Sim.TruthStrategy"""
12 from Monopole.MonopoleConfig import G4mplEqMagElectricFieldToolCfg
13 stratmap = {
14 "G4mplEqMagElectricField" : G4mplEqMagElectricFieldToolCfg,
15 }
16 xCfg = stratmap[flags.Sim.G4EquationOfMotion]
17 return xCfg(flags, **kwargs)
18
19
20# Field Managers
21def ATLASFieldManagerToolCfg(flags, name='ATLASFieldManager', **kwargs):
22 result = ComponentAccumulator()
23 kwargs.setdefault("IntegratorStepper", flags.Sim.G4Stepper)
24 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(StandardFieldSvcCfg(flags)))
25 kwargs.setdefault("UseTightMuonStepping", False)
26 if flags.Sim.G4EquationOfMotion:
27 kwargs.setdefault("EquationOfMotion", result.popToolsAndMerge(EquationOfMotionCfg(flags)))
28 result.setPrivateTools(GlobalFieldManagerTool(name, **kwargs))
29 return result
30
31
32def TightMuonsATLASFieldManagerToolCfg(flags, name='TightMuonsATLASFieldManager', **kwargs):
33 result = ComponentAccumulator()
34 kwargs.setdefault("IntegratorStepper", flags.Sim.G4Stepper)
35 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(StandardFieldSvcCfg(flags)))
36 kwargs.setdefault("UseTightMuonStepping",True)
37 if flags.Sim.G4EquationOfMotion:
38 kwargs.setdefault("EquationOfMotion", result.popToolsAndMerge(EquationOfMotionCfg(flags)))
39 result.setPrivateTools(GlobalFieldManagerTool(name, **kwargs))
40 return result
41
42
43#not used in G4AtlasServicesConfig?
44def ClassicFieldManagerToolCfg(flags, name='ClassicFieldManager', **kwargs):
45 kwargs.setdefault("IntegratorStepper", "ClassicalRK4")
46 return ATLASFieldManagerToolCfg(flags, name, **kwargs)
47
48
49def BasicDetectorFieldManagerToolCfg(flags, name='BasicDetectorFieldManager', **kwargs):
50 result = ComponentAccumulator()
51 if 'FieldSvc' not in kwargs: # don't create the StandardFieldSvc if it is not required by this tool.
52 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(StandardFieldSvcCfg(flags)))
53 kwargs.setdefault("IntegratorStepper", flags.Sim.G4Stepper)
54 kwargs.setdefault('MuonOnlyField', False)
55 if flags.Sim.G4EquationOfMotion:
56 kwargs.setdefault("EquationOfMotion", result.popToolsAndMerge(EquationOfMotionCfg(flags)))
57 result.setPrivateTools(DetectorFieldManagerTool(name, **kwargs))
58 return result
59
60
61def BeamPipeFieldManagerToolCfg(flags, name='BeamPipeFieldManager', **kwargs):
62 kwargs.setdefault("LogicalVolumes", ['BeamPipe::BeamPipe'])
63 #kwargs.setdefault('DeltaChord', 0.00001)
64 kwargs.setdefault('DeltaIntersection', 0.00001)
65 kwargs.setdefault('DeltaOneStep', 0.0001)
66 kwargs.setdefault('MaximumEpsilonStep', 0.001)
67 kwargs.setdefault('MinimumEpsilonStep', 0.00001)
68 return BasicDetectorFieldManagerToolCfg(flags, name, **kwargs)
69
70
71def InDetFieldManagerToolCfg(flags, name='InDetFieldManager', **kwargs):
72 kwargs.setdefault("LogicalVolumes", ['IDET::IDET'])
73 #kwargs.setdefault('DeltaChord', 0.00001)
74 kwargs.setdefault('DeltaIntersection', 0.00001)
75 kwargs.setdefault('DeltaOneStep', 0.0001)
76 kwargs.setdefault('MaximumEpsilonStep', 0.001)
77 kwargs.setdefault('MinimumEpsilonStep', 0.00001)
78 return BasicDetectorFieldManagerToolCfg(flags, name, **kwargs)
79
80
81def ITkFieldManagerToolCfg(flags, name='ITkFieldManager', **kwargs):
82 kwargs.setdefault("LogicalVolumes", ['ITK::ITK'])
83 #kwargs.setdefault('DeltaChord', 0.00001)
84 kwargs.setdefault('DeltaIntersection', 0.00001)
85 kwargs.setdefault('DeltaOneStep', 0.0001)
86 kwargs.setdefault('MaximumEpsilonStep', 0.001)
87 kwargs.setdefault('MinimumEpsilonStep', 0.00001)
88 return BasicDetectorFieldManagerToolCfg(flags, name, **kwargs)
89
90
91def MuonsOnlyInCaloFieldManagerToolCfg(flags, name='MuonsOnlyInCaloFieldManager', **kwargs):
92 kwargs.setdefault("PhysicalVolumes", ['LArBarrel'])
93 #kwargs.setdefault('DeltaChord', 0.00000002)
94 kwargs.setdefault('DeltaIntersection', 0.00000002)
95 kwargs.setdefault('DeltaOneStep', 0.000001)
96 kwargs.setdefault('MaximumEpsilonStep', 0.000001)
97 kwargs.setdefault('MinimumEpsilonStep', 0.0000009)
98 kwargs.setdefault('MuonOnlyField', True)
99 return BasicDetectorFieldManagerToolCfg(flags, name, **kwargs)
100
101def MuonFieldManagerToolCfg(flags, name='MuonFieldManager', **kwargs):
102 kwargs.setdefault("LogicalVolumes", ['MUONQ02::MUONQ02'])
103 #kwargs.setdefault('DeltaChord', 0.00000002)
104 kwargs.setdefault('DeltaIntersection', 0.00000002)
105 kwargs.setdefault('DeltaOneStep', 0.000001)
106 kwargs.setdefault('MaximumEpsilonStep', 0.000001)
107 kwargs.setdefault('MinimumEpsilonStep', 0.0000009)
108 return BasicDetectorFieldManagerToolCfg(flags, name, **kwargs)
109
110
111#not used in G4AtlasServicesConfig?
112def BasicFwdFieldManagerToolCfg(flags, name='FwdFieldManagerTool', **kwargs):
113 #kwargs.setdefault('DeltaChord', 0.00000002)
114 kwargs.setdefault('DeltaIntersection', 1e-9)
115 kwargs.setdefault('DeltaOneStep', 1e-8)
116 kwargs.setdefault('MaximumEpsilonStep', 1e-8)
117 kwargs.setdefault('MinimumEpsilonStep', 1e-9)
118 # Deliberately left commented out for now
119 #if flags.Sim.FwdStepLimitation > 0:
120 # kwargs.setdefault("MaximumStep", flags.Sim.FwdStepLimitation)
121 if False:
122 kwargs.setdefault("MaximumStep", 1000.)
123 return BasicDetectorFieldManagerToolCfg(flags, name, **kwargs)
124
125
126def Q1FwdFieldManagerToolCfg(flags, name='Q1FwdFieldManager', **kwargs):
127 result = ComponentAccumulator()
128 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q1FwdG4FieldSvcCfg(flags)))
129 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQXAA.1R1MagQ1'])
130 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
131 tool = result.popToolsAndMerge(acc)
132 result.setPrivateTools(tool)
133 return result
134
135
136def Q2FwdFieldManagerToolCfg(flags, name='Q2FwdFieldManager', **kwargs):
137 result = ComponentAccumulator()
138 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q2FwdG4FieldSvcCfg(flags)))
139 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQXBA.2R1MagQ2a', 'FwdRegion::LQXBA.2R1MagQ2b'])
140 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
141 tool = result.popToolsAndMerge(acc)
142 result.setPrivateTools(tool)
143 return result
144
145
146def Q3FwdFieldManagerToolCfg(flags, name='Q3FwdFieldManager', **kwargs):
147 result = ComponentAccumulator()
148 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q3FwdG4FieldSvcCfg(flags)))
149 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQXAG.3R1MagQ3'])
150 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
151 tool = result.popToolsAndMerge(acc)
152 result.setPrivateTools(tool)
153 return result
154
155
156def D1FwdFieldManagerToolCfg(flags, name='D1FwdFieldManager', **kwargs):
157 result = ComponentAccumulator()
158 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(D1FwdG4FieldSvcCfg(flags)))
159 kwargs.setdefault("LogicalVolumes", ['FwdRegion::MBXW.A4R1MagD1a', 'FwdRegion::MBXW.B4R1MagD1b',
160 'FwdRegion::MBXW.C4R1MagD1c', 'FwdRegion::MBXW.D4R1MagD1d',
161 'FwdRegion::MBXW.E4R1MagD1e', 'FwdRegion::MBXW.F4R1MagD1f'])
162 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
163 tool = result.popToolsAndMerge(acc)
164 result.setPrivateTools(tool)
165 return result
166
167
168def D2FwdFieldManagerToolCfg(flags, name='D2FwdFieldManager', **kwargs):
169 result = ComponentAccumulator()
170 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(D2FwdG4FieldSvcCfg(flags)))
171 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LBRCD.4R1MagD2'])
172 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
173 tool = result.popToolsAndMerge(acc)
174 result.setPrivateTools(tool)
175 return result
176
177
178def Q4FwdFieldManagerToolCfg(flags, name='Q4FwdFieldManager', **kwargs):
179 result = ComponentAccumulator()
180 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q4FwdG4FieldSvcCfg(flags)))
181 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQYCH.4R1MagQ4'])
182 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
183 tool = result.popToolsAndMerge(acc)
184 result.setPrivateTools(tool)
185 return result
186
187
188def Q5FwdFieldManagerToolCfg(flags, name='Q5FwdFieldManager', **kwargs):
189 result = ComponentAccumulator()
190 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q5FwdG4FieldSvcCfg(flags)))
191 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQNDC.5R1MagQ5'])
192 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
193 tool = result.popToolsAndMerge(acc)
194 result.setPrivateTools(tool)
195 return result
196
197
198def Q6FwdFieldManagerToolCfg(flags, name='Q6FwdFieldManager', **kwargs):
199 result = ComponentAccumulator()
200 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q6FwdG4FieldSvcCfg(flags)))
201 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQNDD.6R1MagQ6'])
202 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
203 tool = result.popToolsAndMerge(acc)
204 result.setPrivateTools(tool)
205 return result
206
207
208def Q7FwdFieldManagerToolCfg(flags, name='Q7FwdFieldManager', **kwargs):
209 result = ComponentAccumulator()
210 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q7FwdG4FieldSvcCfg(flags)))
211 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQNFD.7R1MagQ7a', 'FwdRegion::LQNFD.7R1MagQ7b'])
212 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
213 tool = result.popToolsAndMerge(acc)
214 result.setPrivateTools(tool)
215 return result
216
217
218def Q1HKickFwdFieldManagerToolCfg(flags, name='Q1HKickFwdFieldManager', **kwargs):
219 result = ComponentAccumulator()
220 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q1HKickFwdG4FieldSvcCfg(flags)))
221 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQXAA.1R1MagQ1HKick'])
222 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
223 tool = result.popToolsAndMerge(acc)
224 result.setPrivateTools(tool)
225 return result
226
227
228def Q1VKickFwdFieldManagerToolCfg(flags, name='Q1VKickFwdFieldManager', **kwargs):
229 result = ComponentAccumulator()
230 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q1VKickFwdG4FieldSvcCfg(flags)))
231 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQXAA.1R1MagQ1VKick'])
232 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
233 tool = result.popToolsAndMerge(acc)
234 result.setPrivateTools(tool)
235 return result
236
237
238def Q2HKickFwdFieldManagerToolCfg(flags, name='Q2HKickFwdFieldManager', **kwargs):
239 result = ComponentAccumulator()
240 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q2HKickFwdG4FieldSvcCfg(flags)))
241 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQXBA.2R1MagQ2HKick'])
242 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
243 tool = result.popToolsAndMerge(acc)
244 result.setPrivateTools(tool)
245 return result
246
247
248def Q2VKickFwdFieldManagerToolCfg(flags, name='Q2VKickFwdFieldManager', **kwargs):
249 result = ComponentAccumulator()
250 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q2VKickFwdG4FieldSvcCfg(flags)))
251 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQXBA.2R1MagQ2VKick'])
252 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
253 tool = result.popToolsAndMerge(acc)
254 result.setPrivateTools(tool)
255 return result
256
257
258def Q3HKickFwdFieldManagerToolCfg(flags, name='Q3HKickFwdFieldManager', **kwargs):
259 result = ComponentAccumulator()
260 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q3HKickFwdG4FieldSvcCfg(flags)))
261 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQXAG.3R1MagQ3HKick'])
262 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
263 tool = result.popToolsAndMerge(acc)
264 result.setPrivateTools(tool)
265 return result
266
267
268def Q3VKickFwdFieldManagerToolCfg(flags, name='Q3VKickFwdFieldManager', **kwargs):
269 result = ComponentAccumulator()
270 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q3VKickFwdG4FieldSvcCfg(flags)))
271 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQXAG.3R1MagQ3VKick'])
272 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
273 tool = result.popToolsAndMerge(acc)
274 result.setPrivateTools(tool)
275 return result
276
277
278def Q4VKickAFwdFieldManagerToolCfg(flags, name='Q4VKickAFwdFieldManager', **kwargs):
279 result = ComponentAccumulator()
280 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q4VKickAFwdG4FieldSvcCfg(flags)))
281 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQYCH.4R1MagQ4VKickA'])
282 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
283 tool = result.popToolsAndMerge(acc)
284 result.setPrivateTools(tool)
285 return result
286
287
288def Q4HKickFwdFieldManagerToolCfg(flags, name='Q4HKickFwdFieldManager', **kwargs):
289 result = ComponentAccumulator()
290 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q4HKickFwdG4FieldSvcCfg(flags)))
291 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQYCH.4R1MagQ4HKick'])
292 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
293 tool = result.popToolsAndMerge(acc)
294 result.setPrivateTools(tool)
295 return result
296
297
298def Q4VKickBFwdFieldManagerToolCfg(flags, name='Q4VKickBFwdFieldManager', **kwargs):
299 result = ComponentAccumulator()
300 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q4VKickBFwdG4FieldSvcCfg(flags)))
301 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQYCH.4R1MagQ4VKickB'])
302 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
303 tool = result.popToolsAndMerge(acc)
304 result.setPrivateTools(tool)
305 return result
306
307
308def Q5HKickFwdFieldManagerToolCfg(flags, name='Q5HKickFwdFieldManager', **kwargs):
309 result = ComponentAccumulator()
310 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q5HKickFwdG4FieldSvcCfg(flags)))
311 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQNDC.5R1MagQ5HKick'])
312 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
313 tool = result.popToolsAndMerge(acc)
314 result.setPrivateTools(tool)
315 return result
316
317
318def Q6VKickFwdFieldManagerToolCfg(flags, name='Q6VKickFwdFieldManager', **kwargs):
319 result = ComponentAccumulator()
320 kwargs.setdefault("FieldSvc", result.getPrimaryAndMerge(Q6VKickFwdG4FieldSvcCfg(flags)))
321 kwargs.setdefault("LogicalVolumes", ['FwdRegion::LQNDD.6R1MagQ6VKick'])
322 acc=BasicFwdFieldManagerToolCfg(flags, name, **kwargs)
323 tool = result.popToolsAndMerge(acc)
324 result.setPrivateTools(tool)
325 return result
326
327
328def FwdRegionFieldManagerToolCfg(flags, name='FwdRegionFieldManager', **kwargs):
329 kwargs.setdefault("LogicalVolumes", ['FwdRegion::ForwardRegionGeoModel'])
330 # Deliberately left commented out for now
331 #if flags.Sim.FwdStepLimitation > 0:
332 # kwargs.setdefault("MaximumStep", flags.Sim.FwdStepLimitation)
333 if False:
334 kwargs.setdefault("MaximumStep", 1000.)
335 return BasicDetectorFieldManagerToolCfg(flags, name, **kwargs)
Tool for setting up a volume-local magnetic field manager.
Tool for setting up a detector-global magnetic field manager.
Q2HKickFwdFieldManagerToolCfg(flags, name='Q2HKickFwdFieldManager', **kwargs)
InDetFieldManagerToolCfg(flags, name='InDetFieldManager', **kwargs)
MuonsOnlyInCaloFieldManagerToolCfg(flags, name='MuonsOnlyInCaloFieldManager', **kwargs)
Q3FwdFieldManagerToolCfg(flags, name='Q3FwdFieldManager', **kwargs)
Q3VKickFwdFieldManagerToolCfg(flags, name='Q3VKickFwdFieldManager', **kwargs)
Q1FwdFieldManagerToolCfg(flags, name='Q1FwdFieldManager', **kwargs)
Q5FwdFieldManagerToolCfg(flags, name='Q5FwdFieldManager', **kwargs)
Q2VKickFwdFieldManagerToolCfg(flags, name='Q2VKickFwdFieldManager', **kwargs)
Q6FwdFieldManagerToolCfg(flags, name='Q6FwdFieldManager', **kwargs)
BasicDetectorFieldManagerToolCfg(flags, name='BasicDetectorFieldManager', **kwargs)
Q1HKickFwdFieldManagerToolCfg(flags, name='Q1HKickFwdFieldManager', **kwargs)
ATLASFieldManagerToolCfg(flags, name='ATLASFieldManager', **kwargs)
Q7FwdFieldManagerToolCfg(flags, name='Q7FwdFieldManager', **kwargs)
Q4HKickFwdFieldManagerToolCfg(flags, name='Q4HKickFwdFieldManager', **kwargs)
Q2FwdFieldManagerToolCfg(flags, name='Q2FwdFieldManager', **kwargs)
TightMuonsATLASFieldManagerToolCfg(flags, name='TightMuonsATLASFieldManager', **kwargs)
Q4FwdFieldManagerToolCfg(flags, name='Q4FwdFieldManager', **kwargs)
Q5HKickFwdFieldManagerToolCfg(flags, name='Q5HKickFwdFieldManager', **kwargs)
D1FwdFieldManagerToolCfg(flags, name='D1FwdFieldManager', **kwargs)
BeamPipeFieldManagerToolCfg(flags, name='BeamPipeFieldManager', **kwargs)
FwdRegionFieldManagerToolCfg(flags, name='FwdRegionFieldManager', **kwargs)
MuonFieldManagerToolCfg(flags, name='MuonFieldManager', **kwargs)
BasicFwdFieldManagerToolCfg(flags, name='FwdFieldManagerTool', **kwargs)
EquationOfMotionCfg(flags, **kwargs)
Q3HKickFwdFieldManagerToolCfg(flags, name='Q3HKickFwdFieldManager', **kwargs)
Q4VKickAFwdFieldManagerToolCfg(flags, name='Q4VKickAFwdFieldManager', **kwargs)
D2FwdFieldManagerToolCfg(flags, name='D2FwdFieldManager', **kwargs)
Q1VKickFwdFieldManagerToolCfg(flags, name='Q1VKickFwdFieldManager', **kwargs)
Q4VKickBFwdFieldManagerToolCfg(flags, name='Q4VKickBFwdFieldManager', **kwargs)
Q6VKickFwdFieldManagerToolCfg(flags, name='Q6VKickFwdFieldManager', **kwargs)
ClassicFieldManagerToolCfg(flags, name='ClassicFieldManager', **kwargs)
ITkFieldManagerToolCfg(flags, name='ITkFieldManager', **kwargs)