30 #include <boost/program_options.hpp>
32 namespace po = boost::program_options;
48 std::shared_ptr<const Acts::MagneticFieldProvider> bfield,
49 po::variables_map& vm,
50 std::shared_ptr<ActsExamples::RandomNumbers> randomNumberSvc,
51 std::shared_ptr<const Acts::TrackingGeometry>
tGeometry) {
74 pAlgConfig.randomNumberSvc =
std::move(randomNumberSvc);
75 pAlgConfig.recordMaterialInteractions =
true;
77 pAlgConfig.propagatorImpl =
78 std::make_shared<ActsExamples::ConcretePropagator<Propagator>>(
81 auto propagationAlg = std::make_shared<ActsExamples::PropagationAlgorithm>(
100 std::shared_ptr<ActsExamples::RandomNumbers> randomNumberSvc,
101 std::shared_ptr<const Acts::TrackingGeometry> tGeometry) {
118 pAlgConfig.randomNumberSvc =
std::move(randomNumberSvc);
119 pAlgConfig.propagatorImpl =
120 std::make_shared<ActsExamples::ConcretePropagator<Propagator>>(
122 auto propagationAlg = std::make_shared<ActsExamples::PropagationAlgorithm>(
144 ActsExamples::OutputFormat::Root);
162 auto contextDecorators =
geometry.second;
163 for (
const auto& cdr : contextDecorators) {
169 auto randomNumberSvc =
170 std::make_shared<ActsExamples::RandomNumbers>(randomNumberSvcCfg);
176 if (vm[
"prop-stepper"].
template as<int>() == 0) {
178 setupStraightLinePropagation(sequencer, vm, randomNumberSvc, tGeometry);
180 setupPropagation(sequencer,
bField, vm, randomNumberSvc, tGeometry);
186 auto matCollection = vm[
"prop-material-collection"].as<
std::string>();
188 if (vm[
"output-root"].
template as<bool>()) {
191 matTrackWriterRootConfig.
collection = matCollection;
196 auto matTrackWriterRoot =
197 std::make_shared<ActsExamples::RootMaterialTrackWriter>(
198 matTrackWriterRootConfig,
logLevel);