def _basic_prop_seq_factory(geo, s=None): if s is None: s = acts.examples.Sequencer(events=10, numThreads=1) nav = acts.Navigator(trackingGeometry=geo) stepper = acts.StraightLineStepper() prop = acts.examples.ConcretePropagator(acts.Propagator(stepper, nav)) alg = acts.examples.PropagationAlgorithm( propagatorImpl=prop, level=acts.logging.INFO, randomNumberSvc=rng, ntests=10, sterileLogger=False, propagationStepCollection="propagation-steps", ) s.addAlgorithm(alg) return s, alg
def runMaterialValidation( trackingGeometry, decorators, field, outputDir, outputName="propagation-material", s=None, ): s = s or Sequencer(events=1000, numThreads=-1) for decorator in decorators: s.addContextDecorator(decorator) nav = acts.Navigator(trackingGeometry=trackingGeometry) stepper = acts.StraightLineStepper() # stepper = acts.EigenStepper(field) prop = acts.examples.ConcretePropagator(acts.Propagator(stepper, nav)) rnd = acts.examples.RandomNumbers(seed=42) alg = acts.examples.PropagationAlgorithm( propagatorImpl=prop, level=acts.logging.INFO, randomNumberSvc=rnd, ntests=1000, sterileLogger=True, propagationStepCollection="propagation-steps", recordMaterialInteractions=True, ) s.addAlgorithm(alg) s.addWriter( RootMaterialTrackWriter( level=acts.logging.INFO, collection=alg.config.propagationMaterialCollection, filePath=os.path.join(outputDir, (outputName + ".root")), storeSurface=True, storeVolume=True, )) return s
def test_steppers(conf_const, trk_geo): with pytest.raises(TypeError): acts.examples.PropagationAlgorithm() with pytest.raises(ValueError): acts.examples.PropagationAlgorithm(level=acts.logging.INFO) with pytest.raises(TypeError): acts.Propagator() nav = acts.Navigator(trackingGeometry=trk_geo) with pytest.raises(TypeError): acts.Propagator(navigator=nav) for stepper in (acts.EigenStepper, acts.AtlasStepper): with pytest.raises(TypeError): stepper() s = stepper(acts.NullBField()) assert s prop = acts.examples.ConcretePropagator( acts.Propagator(stepper=s, navigator=nav)) alg = conf_const( acts.examples.PropagationAlgorithm, level=acts.logging.WARNING, propagatorImpl=prop, randomNumberSvc=acts.examples.RandomNumbers(), propagationStepCollection="propagation_steps", sterileLogger=False, ntests=10, ) seq = acts.examples.Sequencer(events=10, numThreads=1, logLevel=acts.logging.WARNING) seq.addAlgorithm(alg) chkAlg = AssertCollectionExistsAlg("propagation_steps", "chk_alg", level=acts.logging.WARNING) seq.addAlgorithm(chkAlg) seq.run() assert acts.StraightLineStepper()