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