18 namespace po = boost::program_options;
29 template <
typename aopt_t>
31 opt.add_options()(
"obj-tg-fileheader",
32 po::value<std::string>()->default_value(
""),
33 "The (optional) file header for the tracking geometry.")(
34 "obj-tg-sensitiveheader", po::value<std::string>()->default_value(
""),
35 "The (optional) header in front of sensitive sensors.")(
36 "obj-tg-layerheader", po::value<std::string>()->default_value(
""),
37 "The (optional) header in front of layer surfaces.")(
38 "obj-sf-fileheader", po::value<std::string>()->default_value(
""),
39 "The (optional) file header for the surface writer.")(
40 "obj-sf-phisegments", po::value<int>()->default_value(72),
41 "Number of phi segments to approximate curves.")(
42 "obj-sf-outputPrecission", po::value<int>()->default_value(6),
43 "Floating number output precission.")(
44 "obj-sf-outputScalor", po::value<double>()->default_value(1.),
45 "Scale factor to be applied.")(
"obj-sf-outputThickness",
46 po::value<double>()->default_value(1.),
47 "The surface thickness.")(
48 "obj-sf-outputSensitive", po::value<bool>()->default_value(
true),
49 "Write sensitive surfaces.")(
"obj-sf-outputLayers",
50 po::value<bool>()->default_value(
true),
51 "Write layer surfaces.");
57 const AMAP& vm,
const std::string&
name,
60 objTgConfig.
filePrefix = vm[
"obj-tg-fileheader"].template as<std::string>();
62 vm[
"obj-tg-sensitiveheader"].template as<std::string>();
63 objTgConfig.
layerPrefix = vm[
"obj-tg-layerheader"].template as<std::string>();
72 objSfConfig.
filePrefix = vm[
"obj-sf-fileheader"].template as<std::string>();
75 vm[
"obj-sf-outputPrecission"].template as<int>();
76 objSfConfig.
outputScalor = vm[
"obj-sf-outputScalor"].template as<double>();
78 vm[
"obj-sf-outputThickness"].template as<double>();
80 vm[
"obj-sf-outputSensitive"].template as<bool>();
82 vm[
"obj-sf-outputLayers"].template as<bool>();