Hello Alexander,
to the moment your problem doesn't have a solution. And this was exactly
the major objection of mine against using ROOT TGeometry to initialize
G3 geometry structure! G3 geometry description just has *more* degrees of freedom.
But to the moment ROOT project doesn't pretend to have an equivalent of G3...
BTW, here is a possible suggestion for ROOT developers: if we forget about
G3 geometry description not having a concept of *surface*, in all other
respects it seems to be pretty well designed. What about translating it into
C++ and implementing in ROOT? (Yes, we at CDF have done something like this
already, but I wouldn't be surprised if it is possible to do it better
than we did...)
One could consider, for example, the following hierarchy:
TShape <---- TVolume <--- TBRIK
(all classes in the chain are derived from each other)
with TShape corresponding to G3 CALL GSVOLU, TVolume corresponding to CALL GSPOS,
but still being a generic class and TBRIK etc being user-visible classes ?
This
1. shouldn't break anything in ROOT geometry classes (small cosmetical changes
are required though)
2. would allow a straightforward way of interfacing to G3 and, in particular,
would solve the problem you are having;
3. could provide a good starting point for looking around and thinking about
what the next right step should be.
Comments are greatly appreciated, Pasha.