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