ATLAS Offline Software
Loading...
Searching...
No Matches
TrkExSTEP_PropagatorConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2
3# Configuration of STEP_Propagator package
4# The STEP (Simultaneous Track and Error Propagation)
5# propagates track parameters through the magnetic field.
6# Compared to the Runge Kutta Propagator it
7# includes material effects in the equation of motion
8# and applies corrections to the covariance matrices
9# continuously.
10# It is particularly suited for the propagation
11# of a particle going through a dense block of material.
12from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
13from AthenaConfiguration.ComponentFactory import CompFactory
14from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
15
17 name='AtlasSTEP_Propagator',
18 **kwargs):
19 result = ComponentAccumulator()
20 acc = AtlasFieldCacheCondAlgCfg(flags)
21 result.merge(acc)
22
23 kwargs.setdefault("MaterialEffects", True) # Default value, set to allow non-default name for compatibility with legacy config
24 result.setPrivateTools(CompFactory.Trk.STEP_Propagator(name, **kwargs))
25 return result
26
27
29 name='NoMatSTEP_Propagator',
30 **kwargs):
31 kwargs.setdefault("MaterialEffects", False)
32 return AtlasSTEP_PropagatorCfg(flags, name, **kwargs)
33
34
36 name="ISF_FatrasSTEP_Propagator",
37 **kwargs):
38 result = ComponentAccumulator()
39 acc = AtlasFieldCacheCondAlgCfg(flags)
40 result.merge(acc)
41
42 kwargs.setdefault("MomentumCutOff", flags.Sim.Fatras.MomCutOffSec)
43 kwargs.setdefault("SimulationMode", True)
44
45 from ISF_FatrasServices.ISF_FatrasConfig import fatrasMaterialUpdatorCfg
46 material_updator = result.popToolsAndMerge(fatrasMaterialUpdatorCfg(flags))
47 kwargs.setdefault("SimMatEffUpdator", material_updator)
48
49 # the step propagaor
50 StepPropagator = CompFactory.Trk.STEP_Propagator
51 result.setPrivateTools(StepPropagator(name=name, **kwargs))
52 return result
fatrasSTEP_PropagatorCfg(flags, name="ISF_FatrasSTEP_Propagator", **kwargs)
AtlasNoMatSTEP_PropagatorCfg(flags, name='NoMatSTEP_Propagator', **kwargs)
AtlasSTEP_PropagatorCfg(flags, name='AtlasSTEP_Propagator', **kwargs)