File indexing completed on 2025-08-05 08:10:07
0001 import pytest
0002
0003 import acts
0004 import acts.examples
0005
0006
0007 class AssertCollectionExistsAlg(acts.examples.IAlgorithm):
0008 events_seen = 0
0009
0010 def __init__(self, collection, *args, **kwargs):
0011 self.collection = collection
0012 acts.examples.IAlgorithm.__init__(self, *args, **kwargs)
0013
0014 def execute(self, ctx):
0015 assert ctx.eventStore.exists(self.collection)
0016 self.events_seen += 1
0017 return acts.examples.ProcessCode.SUCCESS
0018
0019
0020 def test_navigator(conf_const):
0021 nav = conf_const(acts.Navigator)
0022 nav = conf_const(acts.Navigator, trackingGeometry=None)
0023
0024
0025 def test_steppers(conf_const, trk_geo):
0026 with pytest.raises(TypeError):
0027 acts.examples.PropagationAlgorithm()
0028 with pytest.raises(ValueError):
0029 acts.examples.PropagationAlgorithm(level=acts.logging.INFO)
0030
0031 with pytest.raises(TypeError):
0032 acts.Propagator()
0033
0034 nav = acts.Navigator(trackingGeometry=trk_geo)
0035
0036 with pytest.raises(TypeError):
0037 acts.Propagator(navigator=nav)
0038
0039 for stepper in (acts.EigenStepper, acts.AtlasStepper):
0040 with pytest.raises(TypeError):
0041 stepper()
0042 s = stepper(acts.NullBField())
0043 assert s
0044
0045 prop = acts.examples.ConcretePropagator(
0046 acts.Propagator(stepper=s, navigator=nav)
0047 )
0048
0049 alg = conf_const(
0050 acts.examples.PropagationAlgorithm,
0051 level=acts.logging.WARNING,
0052 propagatorImpl=prop,
0053 randomNumberSvc=acts.examples.RandomNumbers(),
0054 propagationStepCollection="propagation_steps",
0055 sterileLogger=False,
0056 ntests=10,
0057 )
0058
0059 seq = acts.examples.Sequencer(
0060 events=10, numThreads=1, logLevel=acts.logging.WARNING
0061 )
0062 seq.addAlgorithm(alg)
0063 chkAlg = AssertCollectionExistsAlg(
0064 "propagation_steps", "chk_alg", level=acts.logging.WARNING
0065 )
0066 seq.addAlgorithm(chkAlg)
0067 seq.run()
0068
0069 assert acts.StraightLineStepper()