55 auto contextDecorators = geometry.second;
63 for (
size_t ievt = 0; ievt <
nEvents; ++ievt) {
73 for (
auto& cdr : contextDecorators) {
75 throw std::runtime_error(
"Failed to decorate event context");
78 std::string geoContextStr =
"";
79 if (contextDecorators.size() > 0) {
88 std::string outputDir = vm[
"output-dir"].template as<std::string>();
91 if (vm[
"output-obj"].as<bool>()) {
93 auto tgObjWriterConfig =
95 vm,
"ObjTrackingGeometryWriter", volumeLogLevel);
97 std::make_shared<ActsExamples::ObjTrackingGeometryWriter>(
104 if (vm[
"output-csv"].as<bool>()) {
111 std::make_shared<ActsExamples::CsvTrackingGeometryWriter>(
112 tgCsvWriterConfig, logLevel);
115 tgCsvWriter->write(context);
119 std::string materialFileName = vm[
"mat-output-file"].as<std::string>();
121 if (!materialFileName.empty() and vm[
"output-root"].template as<bool>()) {
124 rmwConfig.
fileName = materialFileName +
".root";
129 if (!materialFileName.empty() and vm[
"output-json"].template as<bool>()) {
131 std::string fileName = vm[
"mat-output-file"].template as<std::string>();
135 jmConverterCfg.processSensitives =
136 vm[
"mat-output-sensitives"].template as<bool>();
137 jmConverterCfg.processApproaches =
138 vm[
"mat-output-approaches"].template as<bool>();
139 jmConverterCfg.processRepresenting =
140 vm[
"mat-output-representing"].template as<bool>();
141 jmConverterCfg.processBoundaries =
142 vm[
"mat-output-boundaries"].template as<bool>();
143 jmConverterCfg.processVolumes =
144 vm[
"mat-output-volumes"].template as<bool>();
145 jmConverterCfg.processDenseVolumes =
146 vm[
"mat-output-dense-volumes"].template as<bool>();
147 jmConverterCfg.writeData = vm[
"mat-output-data"].template as<bool>();
148 jmConverterCfg.processnonmaterial =
149 vm[
"mat-output-allmaterial"].template as<bool>();
152 materialFileName +
".json");