31 #include <boost/python.hpp>
35 using namespace boost::python;
40 namespace pyG4Polyhedra {
47 const std::vector<G4double>& zPlane,
48 const std::vector<G4double>& rInner,
49 const std::vector<G4double>& rOuter)
52 std::unique_ptr<G4double[]> r0list(
new G4double[numZPlanes]);
53 std::unique_ptr<G4double[]> r1list(
new G4double[numZPlanes]);
55 for (
G4int i=0; i< numZPlanes; i++) {
61 return new G4Polyhedra(name, phiStart, phiTotal, numSide, numZPlanes,
62 zlist.get(), r0list.get(), r1list.get());
69 const std::vector<G4double>&
r,
70 const std::vector<G4double>&
z)
73 std::unique_ptr<G4double[]> rlist(
new G4double[numRZ]);
75 for (
G4int i=0; i< numRZ; i++) {
80 return new G4Polyhedra(name, phiStart, phiTotal, numSide, numRZ,
81 rlist.get(), zlist.get());
87 using namespace pyG4Polyhedra;
94 class_<G4Polyhedra, G4Polyhedra*, bases<G4VSolid> >
95 (
"G4Polyhedra",
"Polyhedra solid class", no_init)
105 .def(self_ns::str(
self))
110 return_value_policy<manage_new_object>());
112 return_value_policy<manage_new_object>());