Re: TGeant3 class - any official info ?

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Jul 28 1999 - 09:36:15 MEST


Julia Yarba wrote:
> 
> 
>    Hi Rooters,
> I'm curious about TGeant3 class. I think it's been somewhere around for
> quite a while; at least I hear of it several times. What puzzles me is that
> so far I can't see it as a part of the official release of root.
> I've looked the info on the web and also tried to browse our local version
> here at FNAL (v2_22_09) but still fail to catch TGeant3.
> Am I looking at the wrong thing ? Or it's not a part of root package yet ?
> If it's not a part of root **official** release, is there a plan to make it
> into root sometimes in the near future ?
> Thank you.
>                                                Julia Yarba
>                                                FNAL/CD-PAT

Dear Julia,
Yes, we have developed in the context of the ALICE collaboration a set
of
classes to interface the simulation program with Geant3, Geant4, Fast MC
and possibly other MonteCarlos such as FLUKA.
A common interface is provided by an abstract base class TVirtualMC
from which we derive TGeant3, TGeant4, AliFast, etc

                       -------------------------
                       I      TVirtualMC       I
                       -------------------------
                         /         I         \
                       /           I           \
                     /             I             \
                   /               I               \
        --------------     -----------------    ----------------
        |  TGeant3   |     |    TGeant4    |    |   AliFast    |
        |   THIGZ    |     |       +       |    |              |
        --------------     |   a few more  |    ----------------
               |           |     classes   |      
               |           -----------------
               |                   |
        --------------     -----------------      
        |   Geant3   |     |    Geant4     |   
        --------------     -----------------


TGeant3
=======
 The TGeant3 class is a complete interface to the Geant3.21 package in
f77.
We have our own installation procedure for Geant3 with a minimal CERNLIB
such that we can create a shared library for both CERNLIB (Zebra) and
Geant3
on most Unix systems. This speeds up considerably the development phase.
Because Geant3 uses the HIGZ package for graphics, we have also
developed
a small class THIGZ that emulates the HIGZ functionality in a Root pad.
In this way, we have full access to the Geant3 graphics subsystem
without
linking with Graflib, etc.
We developped a semi-automatic conversion tool converting the old
geometry
definition (about 50000 lines of code) in Fortran to C++ calls to the
TVirtualMC class.
>From Geant3, we use only the Geometry, tracking, Physics and graphics.
The kinematics and the hits/digits are ALICE classes based on Root
containers.
In implementing this interface classes, we have a considerable gain in
performance (the new package with Geant3 is almost two times faster than
the old Fortran version!). We have gained a very modular
hits/digits/kine
mechanism stored in Root Trees. The link time has been reduced to
nothing.
The size of the executable module on disk went from 11 MBytes to 0.5
Mbytes.
The size of the executable in memory is also smaller.
We have replaced the old control based on FFREAD and KUIP by Root macros
and Root interative control. The reconstruction program is developed
on the same line.

TGeant4
=======
Because we had a considerable investment in the geometry based on Geant3
it was out of question to start again from scratch to test a yet
unmature Geant4. 
Our current MC is based on the solid Geant3, but we want to be able to
test
the same geometry with Geant4, be able to assess both the tracking and
physics performance of Geant4 compared to Geant3.
The TGeant4 class and the set of classes necessary to run with Geant4
have
been developed. The interface to Geant4 is exclusively via the
TVirtualMC
class. This is quite interesting because the changes in the ALICE code
are
minimal to switch between Geant3 and Geant4.

AliFast
=======
This is a fast MonteCarlo specific to ALICE. Currently under
development,
the interface is again via the TVirtualMC abstract class.


Both the TGeant3 and TGeant4 complex are currently operational. We are
currently polishing these interfaces to remove a few ALICE specific
cases.
(The TVirtualMC is still called AliMC in the docs).
Several collaborations have expressed interest in this architecture.
The idea is to include these classes in the ROOT system in the near
future.
You can look at the current design and implementation at the following
URLs:

 http://www1.cern.ch/ALICE/Projects/offline/aliroot/Welcome.html
 http://www.cern.ch/ALICE/Projects/offline/aliroot/roothtml/TGeant3.html
 http://www.cern.ch/ALICE/Projects/offline/aliroot/roothtml/THIGZ.html
 http://www.cern.ch/ALICE/Projects/offline/aliroot/Welcome.html

 http://home.cern.ch/~ivana/AliceG4/AG4Main.html
 http://home.cern.ch/~ivana/AliceG4/AG4Presentations.html

Examples of geometry definition can be seen at URLs:

http://www1.cern.ch/ALICE/Projects/offline/aliroot/roothtml/src/AliTPCv1.cxx.html

http://www1.cern.ch/ALICE/Projects/offline/aliroot/roothtml/src/AliABSO.cxx.html

Rene Brun



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