Attempt to access the Polyhedron from Geant4Py failed. Unsure if just an omission. Need to learn more boost_python to try adding it to G4Py but meanwhile just do it in C++.
This means need to use collada dom for dae creation rather than pycollada.
In [10]: vso = lv.GetSolid()
In [11]: vso
Out[11]: <Geant4.G4geometry.G4Box object at 0x8acf8b4>
In [12]: p vso
-----------------------------------------------------------
*** Dump for solid - WorldBox ***
===================================================
Solid type: G4Box
Parameters:
half length X: 2.4e+06 mm
half length Y: 2.4e+06 mm
half length Z: 2.4e+06 mm
-----------------------------------------------------------
In [21]: Geant4.G4VSolid?
Type: class
Base Class: <type 'Boost.Python.class'>
String Form: <class 'Geant4.G4geometry.G4VSolid'>
Namespace: Interactive
File: /data1/env/local/dyb/external/build/LCG/geant4.9.2.p01/environments/g4py/lib/Geant4/G4geometry.so
Docstring:
solid class
Constructor information:
Docstring:
Raises an exception
This class cannot be instantiated from Python
[blyth@cms01 source]$ find . -name 'G4VSolid.hh'
./geometry/management/include/G4VSolid.hh
[blyth@cms01 source]$ vi geometry/management/include/G4VSolid.hh
[blyth@cms01 source]$ find . -name 'G4Box.hh'
./geometry/solids/CSG/include/G4Box.hh
[blyth@cms01 source]$ vi geometry/solids/CSG/include/G4Box.hh
[blyth@cms01 source]$ find . -name 'G4CSGSolid.hh'
./geometry/solids/CSG/include/G4CSGSolid.hh
[blyth@cms01 source]$ vi geometry/solids/CSG/include/G4CSGSolid.hh
$DYB/external/build/LCG/geant4.9.2.p01/environments/g4py/source/geometry/pyG4VSolid.cc:
33 #include <boost/python.hpp>
34 #include "G4Version.hh"
35 #include "G4VSolid.hh"
36
37 using namespace boost::python;
38
39 // ====================================================================
40 // module definition
41 // ====================================================================
42 void export_G4VSolid()
43 {
44 class_<G4VSolid, G4VSolid*, boost::noncopyable>
45 ("G4VSolid", "solid class", no_init)
46 // ---
47 .def("GetName", &G4VSolid::GetName)
48 .def("SetName", &G4VSolid::SetName)
49 .def("DumpInfo", &G4VSolid::DumpInfo)
50
51 .def("GetCubicVolume", &G4VSolid::GetCubicVolume)
52 #if G4VERSION_NUMBER >=820
53 .def("GetSurfaceArea", &G4VSolid::GetSurfaceArea)
54 #endif
55 #if G4VERSION_NUMBER >=800
56 .def("GetPointOnSurface", &G4VSolid::GetPointOnSurface)
57 #endif
58 // operators
59 .def(self == self)
60 ;
61 }
In [50]: Geant4.G4geometry.
Geant4.G4geometry.CreateBox Geant4.G4geometry.CreateTrd Geant4.G4geometry.G4FieldManager Geant4.G4geometry.G4Sphere Geant4.G4geometry.G4UnionSolid Geant4.G4geometry.__name__
Geant4.G4geometry.CreateCons Geant4.G4geometry.CreateTubs Geant4.G4geometry.G4GeometryManager Geant4.G4geometry.G4SubtractionSolid Geant4.G4geometry.G4VPhysicalVolume Geant4.G4geometry.__new__
Geant4.G4geometry.CreateEllipsoid Geant4.G4geometry.CreateTwistedBox Geant4.G4geometry.G4Hype Geant4.G4geometry.G4Tet Geant4.G4geometry.G4VSolid Geant4.G4geometry.__package__
Geant4.G4geometry.CreateEllipticalCone Geant4.G4geometry.CreateTwistedTap Geant4.G4geometry.G4IntersectionSolid Geant4.G4geometry.G4Torus Geant4.G4geometry.G4VTouchable Geant4.G4geometry.__reduce__
Geant4.G4geometry.CreateEllipticalTube Geant4.G4geometry.CreateTwistedTrd Geant4.G4geometry.G4LogicalVolume Geant4.G4geometry.G4TouchableHistory Geant4.G4geometry.__G4MagneticField Geant4.G4geometry.__reduce_ex__
Geant4.G4geometry.CreateHype Geant4.G4geometry.CreateTwistedTubs Geant4.G4geometry.G4MagneticField Geant4.G4geometry.G4TransportationManager Geant4.G4geometry.__class__ Geant4.G4geometry.__repr__
Geant4.G4geometry.CreateOrb Geant4.G4geometry.G4BooleanSolid Geant4.G4geometry.G4Navigator Geant4.G4geometry.G4Trap Geant4.G4geometry.__delattr__ Geant4.G4geometry.__setattr__
Geant4.G4geometry.CreatePara Geant4.G4geometry.G4Box Geant4.G4geometry.G4Orb Geant4.G4geometry.G4Trd Geant4.G4geometry.__dict__ Geant4.G4geometry.__sizeof__
Geant4.G4geometry.CreatePolycone Geant4.G4geometry.G4ChordFinder Geant4.G4geometry.G4PVPlacement Geant4.G4geometry.G4Tubs Geant4.G4geometry.__doc__ Geant4.G4geometry.__str__
Geant4.G4geometry.CreatePolyhedra Geant4.G4geometry.G4Cons Geant4.G4geometry.G4PVReplica Geant4.G4geometry.G4TwistedBox Geant4.G4geometry.__file__ Geant4.G4geometry.__subclasshook__
Geant4.G4geometry.CreateSphere Geant4.G4geometry.G4Ellipsoid Geant4.G4geometry.G4Para Geant4.G4geometry.G4TwistedTrap Geant4.G4geometry.__format__
Geant4.G4geometry.CreateTet Geant4.G4geometry.G4EllipticalCone Geant4.G4geometry.G4Polycone Geant4.G4geometry.G4TwistedTrd Geant4.G4geometry.__getattribute__
Geant4.G4geometry.CreateTorus Geant4.G4geometry.G4EllipticalTube Geant4.G4geometry.G4Polyhedra Geant4.G4geometry.G4TwistedTubs Geant4.G4geometry.__hash__
Geant4.G4geometry.CreateTrap Geant4.G4geometry.G4Field Geant4.G4geometry.G4Region Geant4.G4geometry.G4UniformMagField Geant4.G4geometry.__init__