50 run->SetName(options.simulation.engine.c_str());
51 run->SetRunId(options.general.run_id);
52 run->SetStoreTraj(options.simulation.store_trajectory);
53 run->SetMaterials(options.simulation.material_filename.c_str());
54 auto fairField = std::make_unique<R3BFieldConst>();
55 run->SetField(fairField.release());
69 const auto& options =
options_.detectors;
71 const auto& cave_options = options.cave;
72 if (cave_options.enable)
74 auto cave = std::make_unique<R3BCave>(cave_options.name.c_str());
75 cave->SetGeometryFileName(cave_options.geo_file.c_str());
76 run->AddModule(cave.release());
79 const auto& neuland_options = options.neuland;
80 if (neuland_options.enable)
83 const auto& location = neuland_options.location;
84 auto const neulandGeoTrans = TGeoTranslation{ location.x(), location.y(), location.z() };
85 auto neuland = std::make_unique<R3BNeuland>(neuland_options.num_of_dp, neulandGeoTrans);
86 if (neuland_options.enable_auto_geo_build)
88 neuland->EnableAutoGeoBuild();
90 run->AddModule(neuland.release());