I don't know if this is by design, but G4Cons does not have a virtual destructor and cannot be simply inherited from, or at least the lack of a virtual destructor suggests that I should not inherit from it. I notice that other solids do have virtual destructors (G4Box does, for instance), so I suspect this is just an oversight, Giuseppe
G4Cons as for all other concrete shapes is not supposed to act as base class for other classes. Indeed the "virtual" keyword should not be present, as it is not present for all the other virtual methods a G4 shape is supposed to implement. Future revision of this code for C++11 will likely mark all concrete G4 shapes as 'final'.