33 #include <boost/program_options.hpp>
35 namespace po = boost::program_options;
49 template <
typename bfield_t>
52 std::shared_ptr<ActsExamples::RandomNumbers> randomNumberSvc,
53 std::shared_ptr<const Acts::TrackingGeometry>
tGeometry) {
76 pAlgConfig.randomNumberSvc = randomNumberSvc;
77 pAlgConfig.recordMaterialInteractions =
true;
79 std::make_shared<ActsExamples::PropagationAlgorithm<Propagator>>(
80 pAlgConfig, logLevel);
98 std::shared_ptr<ActsExamples::RandomNumbers> randomNumberSvc,
99 std::shared_ptr<const Acts::TrackingGeometry> tGeometry) {
116 pAlgConfig.randomNumberSvc = randomNumberSvc;
117 auto propagationAlg =
118 std::make_shared<ActsExamples::PropagationAlgorithm<Propagator>>(
119 pAlgConfig, logLevel);
156 auto tGeometry = geometry.first;
157 auto contextDecorators = geometry.second;
161 auto randomNumberSvc =
162 std::make_shared<ActsExamples::RandomNumbers>(randomNumberSvcCfg);
167 if (vm[
"prop-stepper"].
template as<int>() == 0) {
169 setupStraightLinePropagation(sequencer, vm, randomNumberSvc, tGeometry);
174 typename std::decay_t<decltype(bField)>::element_type;
176 setupPropagation(sequencer, fieldMap, vm, randomNumberSvc, tGeometry);
183 std::string outputDir = vm[
"output-dir"].template as<std::string>();
184 auto matCollection = vm[
"prop-material-collection"].as<std::string>();
186 if (vm[
"output-root"].
template as<bool>()) {
189 matTrackWriterRootConfig.
collection = matCollection;
194 auto matTrackWriterRoot =
195 std::make_shared<ActsExamples::RootMaterialTrackWriter>(
196 matTrackWriterRootConfig, logLevel);