Geant4_10
uginit.F
Go to the documentation of this file.
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
BasicVector3D< T > unit() const
subroutine ugeom
Definition: ugeom.F:2
TFile * file
subroutine uginit
Definition: uginit.F:2
Double_t x
Definition: plot.C:279
int status
Definition: tracer.cxx:24
void print(const std::vector< T > &data)
Definition: DicomRun.hh:111