Re: ROOT & GEANT

From: Alexander Zvyagin (zvyagin@mx.ihep.su)
Date: Tue Feb 24 1998 - 14:42:17 MET


                                           IHEP, Protvino, Russia, 24-FEB-1998

Dear ALL!

Creation of ROOT geometry is simpler than creation of GEANT one. So it may be
good to change GEANT geometry description to ROOT style.

I managed to write some code
( http://gams.ihep.su/~zvyagin/home/ROOT_GEANT/1998-02-24/ROOT_GEANT.c )
that produces GEANT geometry from TGeometry. It works with very simple
geometries. But it WORKS. See
http://gams.ihep.su/~zvyagin/home/ROOT_GEANT/1998-02-24/test/GEANT/

One problem stops me. I do not know how to insert correctly
in mother TNode several identical son-TNodes. This is GSPOS level of GEANT
calls. The next code is bad:

        TNode *mother=....; // mother node.
        mother->cd();
        TNode *son=...; // pointer to node that we want to insert several times
        son->SetParent(NULL);
        for( int j=0; j<son_nodes_amount; j++ )
        {
          TNode *son_node = (TNode*) son->Clone(); // The problem is here.
          mother->GetListOfNodes->Add(cell_node);
          char name[111];
          sprintf(name,"n%d",j);
          son_node->SetName(name);
          son_node->SetPosition(....);
          son->SetParent(mother);
        }

The problem is in TNode->Clone(). See
http://root.cern.ch/root/roottalk/roottalk98/0217.html
The call time of TNode->Clone() depends strongly on geometry.

At present time I don not know how to solve the problem...

I belive that other steps of this work (in automatic creation of GEANT geometry
from ROOT TGeometry) are simpler.
Step I.   GEANT::GSVOLU does not place volume to mother one.
          but
          ROOT::TNode do it.
Step II.  We need add some new classes or modify the current ones.
          Example: GEANT::GSPOS uses "volume copy number", geant material has
          "radiation length", "absorbtion length".
          See http://gams.ihep.su/~zvyagin/home/ROOT_GEANT/1998-02-24/TNode_G.h
Step III. Something else...

P.S. I hope that GEANT4 will solve a lot of problems ...



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:30 MET