17 #include <boost/program_options.hpp>
33 namespace po = boost::program_options;
75 Propagator propagator(std::move(stepper), std::move(navigator));
77 auto matCollection = vm[
"mat-mapping-collection"].template as<std::string>();
81 std::string intputDir = vm[
"input-dir"].template as<std::string>();
82 auto intputFiles = vm[
"input-files"].template as<read_strings>();
84 if (vm[
"input-root"].
template as<bool>()) {
87 if (not matCollection.empty()) {
88 matTrackReaderRootConfig.
collection = matCollection;
90 matTrackReaderRootConfig.
fileList = intputFiles;
91 auto matTrackReaderRoot =
92 std::make_shared<FW::RootMaterialTrackReader>(matTrackReaderRootConfig);
98 auto smm = std::make_shared<Acts::SurfaceMaterialMapper>(
99 smmConfig, std::move(propagator),
104 mmAlgConfig.materialMapper = smm;
105 mmAlgConfig.trackingGeometry =
tGeometry;
108 std::string materialFileName = vm[
"mat-output-file"].as<std::string>();
110 if (!materialFileName.empty() and vm[
"output-root"].template as<bool>()) {
113 rmwConfig.
fileName = materialFileName +
".root";
117 mmAlgConfig.materialWriters.push_back(
118 std::make_shared<RootWriter>(std::move(rmwImpl)));
122 matTrackWriterRootConfig.
filePath = materialFileName +
"_tracks.root";
123 matTrackWriterRootConfig.
collection = mmAlgConfig.mappingMaterialCollection;
125 auto matTrackWriterRoot = std::make_shared<FW::RootMaterialTrackWriter>(
126 matTrackWriterRootConfig, logLevel);
131 if (!materialFileName.empty() and vm[
"output-json"].template as<bool>()) {
133 std::string fileName = vm[
"mat-output-file"].template as<std::string>();
137 jmConverterCfg.processSensitives =
138 vm[
"mat-output-sensitives"].template as<bool>();
139 jmConverterCfg.processApproaches =
140 vm[
"mat-output-approaches"].template as<bool>();
141 jmConverterCfg.processRepresenting =
142 vm[
"mat-output-representing"].template as<bool>();
143 jmConverterCfg.processBoundaries =
144 vm[
"mat-output-boundaries"].template as<bool>();
145 jmConverterCfg.processVolumes =
146 vm[
"mat-output-volumes"].template as<bool>();
147 jmConverterCfg.writeData = vm[
"mat-output-data"].template as<bool>();
150 materialFileName +
".json");
153 mmAlgConfig.materialWriters.push_back(
154 std::make_shared<JsonWriter>(std::move(jmwImpl)));
158 auto mmAlg = std::make_shared<FW::MaterialMapping>(mmAlgConfig);