18 #include <boost/program_options.hpp>
20 namespace po = boost::program_options;
22 namespace ActsExamples {
27 template <
typename aopt_t>
30 "dd4hep-input", po::value<std::vector<std::string>>(),
31 "The locations of the input DD4hep files, use 'file:foo.xml'. In case "
32 "you want to read in multiple files, add the option multiple times.")(
33 "dd4hep-envelopeR", po::value<double>()->default_value(1.),
34 "The envelop cover in R for DD4hep volumes in mm.")(
35 "dd4hep-envelopeR", po::value<double>()->default_value(1.),
36 "The tolerance added to the geometrical extension in r of the "
37 "layers contained to build the volume envelope around in mm.")(
38 "dd4hep-envelopeZ", po::value<double>()->default_value(1.),
39 "The tolerance added to the geometrical extension in z of the "
40 "layers contained to build the volume envelope around in mm.")(
41 "dd4hep-layerThickness", po::value<double>()->default_value(10
e-10),
42 "In case no surfaces (to be contained by the layer) are handed over, "
43 "the layer thickness will be set to this value.")(
44 "dd4hep-buildFCChh", po::value<bool>()->default_value(
true),
45 "If you are not building the FCChh detector please set this flag to "
46 "false.")(
"dd4hep-loglevel", po::value<size_t>()->default_value(2),
47 "The output log level of the geometry building. Please set the "
49 "number (0 = VERBOSE, 1 = "
50 "DEBUG, 2 = INFO, 3 = WARNING, 4 = ERROR, 5 = FATAL).");
54 template <
typename amap_t>
57 using namespace Acts::UnitLiterals;
61 gsConfig.xmlFileNames =
62 vm[
"dd4hep-input"].template as<std::vector<std::string>>();
66 gsConfig.envelopeR = vm[
"dd4hep-envelopeR"].template as<double>() * 1_mm;
67 gsConfig.envelopeZ = vm[
"dd4hep-envelopeZ"].template as<double>() * 1_mm;
68 gsConfig.defaultLayerThickness =
69 vm[
"dd4hep-layerThickness"].template as<double>() * 1_mm;
70 if (vm[
"dd4hep-buildFCChh"].
template as<bool>()) {