Back to home page

sPhenix code displayed by LXR

 
 

    


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()