Re: g2root

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Jun 30 1998 - 08:43:35 MEST


To generate a Geant geometry RZ file, add one line after GGCLOS
to your Fortran program
    call grfile(21,"mygeom.rz","ON")

then use the g2root converter with
   g2root mygeom.rz mygeom.root

Rene Brun


Jayoung Wu wrote:
> 
> Hi all,
>   I want to use "g2root" to convert an existing GEANT geometry file
>   into a ROOT macro.
>   To use this conversion program
>         g2root geant_rzfile macroname.
>                ^^^^^^^^^^^^
>                What is geant_rzfile file? Can it be any geant fortran
>                file?
> 
>    When I tried "g2root geom.f geom.C", I got the following error message:
>     Error: No symbol g2rootgeom.fgeom.C in current scope
>            FILE:/tmp/03052aaa LINE:1
>    Is there something wrong with my "geom.f"?
> 
>    If possible, can I have any example file for geant_rzfile?
> 
>    ---------------------- geom.f ---------------------------------
> c+DECK, UGEOM.
> ***************************************************************************
>         SUBROUTINE UGEOM
> ***************************************************************************
> c/*
> c#include "/cern/97a/inc/gckine.inc"
> c#include "/cern/97a/inc/usphys.inc"
> c#include "/cern/97a/inc/matidc.inc"
> c#include "/cern/97a/inc/gmsize.inc"
> c*/
> 
>         include '/home/sina/CERNINCLUDES/myugeom.inc'
> 
> ******* MATERIAL DESCRIPTION
>         CALL GSMIXT(MATBGO,'BGO$',ABGO,ZBGO, 7.1, -3, WBGO)
> 
>         CALL GSMATE(MATSCN,'SCINTILLATOR$', 20.0, 10.0, 1.032,
>      +              42.4, 58.4, 0, 0)
> 
>         CALL GPMATE(0)          !PRINT OUT ALL MATERIALS
> 
> ******* TRACKING MEDIUM
>         IFIELD = 0
>         FIELDM = 0.
>         TMAXFD = 10.
>         STEMAX = 1. !DEDXMX
>         DEEMAX = 0.05
>         EPSIL = 0.001
>         STMIN = 0.001
> 
>         CALL GSTMED(ITRAIR,'AIR$',MATAIR, 0, IFIELD,
>      +          FIELDM, TMAXFD, STEMAX, DEEMAX, EPSIL, STMIN, 0, 0)
> 
>         CALL GSTMED(ITRBGO,'BGO$',MATBGO, 0, IFIELD,
>      +              FIELDM, TMAXFD, STEMAX, DEEMAX, EPSIL, STMIN, 0, 0)
> 
>         CALL GSTMED(ITRCAR,'CARBON$',MATCAR, 0, IFIELD,
>      +              FIELDM, TMAXFD, STEMAX, DEEMAX, EPSIL, STMIN, 0, 0)
> 
>         CALL GSTMED(ITRSCN,'SCINTILLATOR$',MATSCN, 0, IFIELD,
>      +              FIELDM, TMAXFD, STEMAX, DEEMAX, EPSIL, STMIN, 0, 0)
> 
> 
> ******* DEFINE THE GEOMETRICAL SETUP
>         !First of all, create volumes
>         SIZE(1) = 100.  !half of length in x direction
>         SIZE(2) = 100.  !y
>         SIZE(3) = 100.  !z
>         CALL GSVOLU('ROOT','BOX ', ITRAIR, SIZE, 3, IVOLU)
> 
>         SIZE(1) = 50. / 2.
>         SIZE(2) = 50. / 2.
>         SIZE(3) = 2.5 / 2.
>         CALL GSVOLU('BGOL','BOX ', ITRBGO, SIZE, 3, IVOLU)
>         CALL GSVOLU('BGEL','BOX ', ITRBGO, SIZE, 3, IVOLU)
> 
>         thkscn = 2.0
>         SIZE(3) = thkscn / 2.
>         SIZE(1) = 25.0
>         SIZE(2) = SIZE(1)
>         CALL GSVOLU('SCN1','BOX ', ITRSCN, SIZE, 3, IVOLU)
> 
>         !Position the volumes --- easy part, which is CARBON and SCIN.
> LAYERS
>         CALL GSPOS('SCN1',1,'ROOT', 0, 0, 31., 0, 'ONLY')
> 
>         !BGO crystals
>         K=0
>         DO I=1, 15
>             K=K+1
>             CALL GSPOS('BGOL', K, 'ROOT', 0, 0,-1.25-(I-1)*5.0, 0, 'ONLY')
>             CALL GSPOS('BGEL', K, 'ROOT', 0, 0,-3.75-(I-1)*5.0, 0, 'ONLY')
>         ENDDO
>         CALL GSDVN('BGOX','BGOL', 2,1)  !divide BGOL into two BGOX in the
> x-axis
>         CALL GSDVN('XBGO','BGOX',20,2)
>         CALL GSDVN('BGOY','BGEL', 2,2)  !divide BGEL into two BGOY in the
> y-axis
>         CALL GSDVN('YBGO','BGOY',20,1)
> 
>         !split the S1,S2,S3,S4,S5 layer along the z-direction
>         CALL GSDVN('S1AB','SCN1', 2, 3)
> 
>         call gpvolu(0)
> 
> ******* FINISH GEOMETRICAL SETUP
>         CALL GGCLOS
> 
>         END
> 
> ---
> Thanks a lot!
> Jayoung
> 
> PS. I am on linux and ROOT version1.03.



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