Skip to content

Commit 6ac40bf

Browse files
G4MultiSensitiveDetector: Fix SD return value policy and add __iter__
1 parent 66b7a10 commit 6ac40bf

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

source/digits_hits/pyG4MultiSensitiveDetector.cc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,12 @@ void export_G4MultiSensitiveDetector(py::module &m)
5252
.def("DrawAll", &G4MultiSensitiveDetector::DrawAll)
5353
.def("PrintAll", &G4MultiSensitiveDetector::PrintAll)
5454
.def("ProcessHits", &PublicG4MultiSensitiveDetector::ProcessHits)
55-
.def("GetSD", &G4MultiSensitiveDetector::GetSD)
55+
.def("GetSD", &G4MultiSensitiveDetector::GetSD, py::arg("i"), py::return_value_policy::reference)
5656
.def("GetSize", &G4MultiSensitiveDetector::GetSize)
5757
.def("ClearSDs", &G4MultiSensitiveDetector::ClearSDs)
58-
.def("AddSD", &G4MultiSensitiveDetector::AddSD);
58+
.def("AddSD", &G4MultiSensitiveDetector::AddSD, py::arg("sd"))
59+
.def("Clone", &G4MultiSensitiveDetector::Clone)
60+
.def(
61+
"__iter__", [](G4MultiSensitiveDetector &self) { return py::make_iterator(self.GetBegin(), self.GetEnd()); },
62+
py::keep_alive<0, 1>(), py::is_operator(), py::return_value_policy::reference);
5963
}

0 commit comments

Comments
 (0)