Geometry classes

Rutger van der Eijk (r36@nikhef.nl)
Fri, 12 Jun 1998 14:48:33 +0200 (MET DST)


Hi all,

I am trying to use the ROOT Geometry classes to define the geometry of
a testbeam setup. I want to use this for an event display, and eventually
by deriving my own classes as a simple database for by detector setup.

Looking at the available classes it seems to be that the set of classes is
not completely developed yet, i.e. some classes are not complete, and I
would wish/like additions. Is there any activity at the moment on these
classes, or do you advise me to use another mechanism to implement my
detector geometry?

What I would need/like/miss:

1) For some(/most) of the TShapes I'm not able to 'Get..()' the defining
variables (i.e. like rMin/rMax etc.. of TTUBE). I would like to be able to
do this, if I would use them as a sort of detector-database. The members
are all protected, so I could derive from them. But I don't think this
should be the right way.

2) The 'first' contructor of TRotMatrix (i.e.

TRotMatrix(Text_t *name, Text_t *title, Double_t theta, Double_t phi,
Double_t psi);

is not implemented.

3) TELTU seems to be implemented as a normal cylinder, not as a cylinder
with elliptical cross section.

4) In my setup I have several types of detection elements/cells, which all
have the shape of a 'cylinder' of a certain lenght and a varying shape of
the cross section (i.e. cylinder, elliptical, honeycomb etc...) So I would
like to have a shape with 'arbitrary' cross section (defined by an array
of n points in 2d) and lenght l along the (z)-axis. As far as I know, I
can't use any of the available TShapes to make such shapes. This could
also be solved by the following...

5) Geant (on which the classes are based) has the mechanism to combine
volumes with simple boolean operations (GEOM020). It would be great to
have a mechanism like this for the TShapes. We could begin by defining
something as a TCompositeShape. Ofcourse I could implement this partly by
defining a TNode which combines a few TNodes with the shapes I would like
to combine. But in this way I only have the possibillity to 'add' ('union'
in Geant) shapes, not to substract them! => not possible to make all
shapes...

This are just some points which came to my mind the last few days working
with the classes. I would like to stress that I am already quite impressed
by the simple way I can define 'simple' geometries. I think my basic
question is if there is anybody working/developping these classes at the
moment, or if we can expect anything in the near (!) future.

Thanks,

Rutger van der Eijk