31 #include <boost/python.hpp>
35 using namespace boost::python;
40 namespace pyG4Polycone {
46 const std::vector<G4double>& zPlane,
47 const std::vector<G4double>& rInner,
48 const std::vector<G4double>& rOuter)
51 std::unique_ptr<G4double[]> r0list(
new G4double[numZPlanes]);
52 std::unique_ptr<G4double[]> r1list(
new G4double[numZPlanes]);
54 for (
G4int i=0; i< numZPlanes; i++) {
60 return new G4Polycone(name, phiStart, phiTotal, numZPlanes,
61 zlist.get(), r0list.get(), r1list.get());
67 const std::vector<G4double>&
r,
68 const std::vector<G4double>&
z)
71 std::unique_ptr<G4double[]> rlist(
new G4double[numRZ]);
73 for (
G4int i=0; i< numRZ; i++) {
78 return new G4Polycone(name, phiStart, phiTotal, numRZ,
79 rlist.get(), zlist.get());
85 using namespace pyG4Polycone;
93 class_<G4Polycone, G4Polycone*, bases<G4VSolid> >
94 (
"G4Polycone",
"Polycone solid class", no_init)
102 .def(self_ns::str(
self))
107 return_value_policy<manage_new_object>());
109 return_value_policy<manage_new_object>());