11 #include <boost/program_options.hpp>
25 boost::program_options::options_description& opt)
const {
32 "align-rotation-step",
33 boost::program_options::value<double>()->default_value(0.25 *
M_PI),
34 "Rotation step of the RotationDecorator")(
36 boost::program_options::value<size_t>()->default_value(3),
37 "Output log level of the alignment decorator.");
41 const boost::program_options::variables_map& vm,
42 std::shared_ptr<const Acts::IMaterialDecorator> mdecorator)
43 -> std::pair<TrackingGeometryPtr, ContextDecorators> {
55 (vm[
"mat-input-type"].template as<std::string>() ==
"proto");
59 FW::Generic::buildDetector<DetectorElement>(
60 nominalContext, detectorStore, 0, std::move(mdecorator), buildProto,
61 surfaceLogLevel, layerLogLevel, volumeLogLevel);
68 agcsConfig.
rotationStep = vm[
"align-rotation-step"].template as<double>();
74 auto agcDecorator = std::make_shared<Decorator>(
77 pContextDecorators.push_back(agcDecorator);
79 if (vm[
"bf-context-scalable"].
template as<bool>()) {
81 bfsConfig.
scalor = vm[
"bf-bscalor"].template as<double>();
83 auto bfDecorator = std::make_shared<FW::BField::BFieldScalor>(bfsConfig);
85 pContextDecorators.push_back(bfDecorator);
89 return std::make_pair<TrackingGeometryPtr, ContextDecorators>(
90 std::move(pTrackingGeometry), std::move(pContextDecorators));