27 #include <pybind11/pybind11.h>
28 #include <pybind11/stl.h>
33 namespace ActsExamples {
37 namespace py = pybind11;
39 using namespace ActsExamples;
42 namespace Acts::Python {
45 auto [
m, mex] = ctx.
get(
"main",
"examples");
54 std::shared_ptr<ActsExamples::DigitizationAlgorithm>>(
55 mex,
"DigitizationAlgorithm")
56 .def(py::init<Config&, Acts::Logging::Level>(), py::arg(
"config"),
58 .def_property_readonly(
"config",
61 auto c = py::class_<Config>(mex,
"DigitizationConfig")
79 c.def_readonly(
"mergeNsigma", &Config::mergeNsigma);
80 c.def_readonly(
"mergeCommonCorner", &Config::mergeCommonCorner);
84 py::class_<DigiComponentsConfig>(mex,
"DigiComponentsConfig");
86 py::class_<Acts::GeometryHierarchyMap<ActsExamples::DigiComponentsConfig>>(
87 mex,
"GeometryHierarchyMap_DigiComponentsConfig")
89 std::pair<GeometryIdentifier, DigiComponentsConfig>>>());
95 auto alg = py::class_<Alg, ActsExamples::IAlgorithm, std::shared_ptr<Alg>>(
96 mex,
"PlanarSteppingAlgorithm")
97 .def(py::init<const Alg::Config&, Acts::Logging::Level>(),
98 py::arg(
"config"), py::arg(
"level"))
101 auto c = py::class_<Alg::Config>(alg,
"Config").def(py::init<>());
118 py::class_<PlanarModuleStepper, std::shared_ptr<PlanarModuleStepper>>(
119 m,
"PlanarModuleStepper")
122 return std::make_shared<PlanarModuleStepper>(
129 auto dc = py::class_<DC>(mex,
"DigitizationConfigurator").def(py::init<>());
131 dc.def(
"__call__", &DC::operator());