22 #include <boost/program_options.hpp>
24 namespace ActsExamples {
25 namespace Simulation {
31 auto opt = desc.add_options();
34 opt(
"input-dir", value<std::string>(),
35 "Read particle input from CSV files in the given directory. If not "
36 "given, particles are generated with the particle gun");
44 std::shared_ptr<const ActsExamples::RandomNumbers>
randomNumbers) {
47 if (not vars[
"input-dir"].empty()) {
54 std::make_shared<CsvParticleReader>(readParticles,
logLevel));
69 std::make_shared<ActsExamples::ParticleSelector>(select,
logLevel));
82 if (vars[
"output-csv"].
template as<bool>()) {
93 std::make_shared<CsvParticleWriter>(writeInitial,
logLevel));
101 std::make_shared<CsvParticleWriter>(writeFinal,
logLevel));
109 std::make_shared<CsvSimHitWriter>(writeSimHits,
logLevel));
113 if (vars[
"output-root"].
template as<bool>()) {
123 std::make_shared<RootParticleWriter>(writeInitial,
logLevel));
130 std::make_shared<RootParticleWriter>(writeFinal,
logLevel));
137 std::make_shared<RootSimHitWriter>(writeHits,
logLevel));