17 #include <boost/program_options.hpp>
32 namespace po = boost::program_options;
46 template <
typename bfield_t>
49 std::shared_ptr<FW::RandomNumbers> randomNumberSvc,
50 std::shared_ptr<const Acts::TrackingGeometry>
tGeometry) {
65 pAlgConfig.randomNumberSvc = randomNumberSvc;
66 auto propagationAlg = std::make_shared<FW::PropagationAlgorithm<Propagator>>(
67 pAlgConfig, logLevel);
85 std::shared_ptr<FW::RandomNumbers> randomNumberSvc,
86 std::shared_ptr<const Acts::TrackingGeometry> tGeometry) {
102 pAlgConfig.randomNumberSvc = randomNumberSvc;
103 auto propagationAlg = std::make_shared<FW::PropagationAlgorithm<Propagator>>(
104 pAlgConfig, logLevel);
140 auto tGeometry = geometry.first;
141 auto contextDecorators = geometry.second;
145 auto randomNumberSvc =
146 std::make_shared<FW::RandomNumbers>(randomNumberSvcCfg);
151 if (vm[
"prop-stepper"].
template as<int>() == 0) {
153 setupStraightLinePropagation(sequencer, vm, randomNumberSvc, tGeometry);
158 typename std::decay_t<decltype(bField)>::element_type;
160 setupPropagation(sequencer, fieldMap, vm, randomNumberSvc, tGeometry);
167 std::string outputDir = vm[
"output-dir"].template as<std::string>();
168 auto matCollection = vm[
"prop-material-collection"].as<std::string>();
170 if (vm[
"output-root"].
template as<bool>()) {
173 matTrackWriterRootConfig.
collection = matCollection;
177 auto matTrackWriterRoot = std::make_shared<FW::RootMaterialTrackWriter>(
178 matTrackWriterRootConfig, logLevel);