ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
uginit.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file uginit.F
1 
2  SUBROUTINE uginit
3 *
4 * To initialise GEANT/USER program and read data cards
5 *
6 #include "calor.inc"
7 #include "celoss.inc"
8 #include "histo.inc"
9 #include "geant321/gckine.inc"
10 #include "geant321/gcbank.inc"
11 *
12  CHARACTER*20 filnam
13 *
14 * *** Define the GEANT parameters
15  CALL ginit
16 *
17 * *** default values for histo
18  do ih = 1,maxhist
19  histo(ih) = .false.
20  enddo
21 *
22 * *** Calor definition
23  CALL ffkey('CALOR',nbabsor,4,'MIXED')
24  CALL ffkey('MATE' ,materabs(1),maxabs,'INTEGER')
25  CALL ffkey('THICK',thickabs(1),maxabs,'REAL')
26 * *** production cuts (bcute, dcute and ppcutm) for each absorber
27  CALL ffkey('CUTPR',prodcut(1) ,4*maxabs,'REAL')
28 * *** histograms
29  CALL ffkey('HISTO',idhist,5,'MIXED')
30 * *** max allowed step size
31  CALL ffkey('STEPMX',stepmax,1,'REAL')
32 *
33 * *** read data cards
34  print *, 'G3 > gives the filename of the data cards to be read:'
35  READ (*,'(A)') filnam
36  IF (filnam.EQ.' ') filnam = 'run01.dat'
37  OPEN (unit=5,file=filnam,status='unknown',form='formatted')
38 *
39 * fileName for histograms, must be 1st data card !
40  filename = 'testem3.paw'
41  READ(5,98)key,spaces,filename
42 98 FORMAT(a4,a2,a25)
43 
44  CALL gffgo
45 *
46 * *** check size of arrays
47  if (nbabsor.gt.maxabs) then
48  write (6,51) nbabsor, maxabs
49  nbabsor = maxabs
50  endif
51  if (nblayer.gt.maxlay) then
52  write (6,52) nblayer, maxlay
53  nblayer = maxlay
54  endif
55 51 FORMAT (/,5x,'warning (uginit): NbAbsor= ',i2,' truncated to ',i2)
56 52 FORMAT (/,5x,'warning (uginit): NbLayer= ',i3,' truncated to ',i3)
57 
58  write(6,99) filename
59 99 FORMAT(/,15x,'histogram file --> Name: ',a25)
60 
61  CALL gzinit
62  CALL gpart
63  CALL gpions
64 *
65 * *** overwrite ITRTYP for ion C12
66  jpa = lq(jpart-67)
67  q(jpa+6) = 8.0
68 *
69  CALL gdinit
70 *
71 * *** Geometry and materials description
72  CALL ugeom
73 *
74 * *** Energy loss and cross-sections initialisations
75  CALL gphysi
76 *
77  CALL gprint('MATE',0)
78  CALL gprint('TMED',0)
79  CALL gprint('VOLU',0)
80 *
81 * *** some initialisation
82  do k=1,maxabs
83  sumedep(k) = 0.
84  sumtrck(k) = 0.
85  su2edep(k) = 0.
86  su2trck(k) = 0.
87  enddo
88 *
89  do k=1,maxplanes
90  enerflow(k) = 0.
91  eleaklat(k) = 0.
92  enddo
93 *
94  END