Geant4
10.02.p03
TestEm3/geant3/src/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
(/,5
x
,
'warning (uginit): NbAbsor= '
,i2,
' truncated to '
,i2)
56
52
FORMAT
(/,5
x
,
'warning (uginit): NbLayer= '
,i3,
' truncated to '
,i3)
57
58
write
(6,99) filename
59
99
FORMAT
(/,15
x
,
'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
a4
static const G4double a4
Definition:
G4BetheHeitlerModel.cc:73
ugeom
subroutine ugeom
Definition:
TestEm1/geant3/src/ugeom.F:3
file
TFile * file
Definition:
comparison_ascii.C:5
uginit
subroutine uginit
Definition:
TestEm1/geant3/src/uginit.F:3
x
Double_t x
Definition:
advanced/microbeam/plot.C:279
print
void print(G4double elem)
Definition:
G4ecpssrBaseKxsModel.cc:108
a2
static const G4double a2
Definition:
G4BetheHeitlerModel.cc:72
Geant4
Geant4.10.02.p03
examples
extended
electromagnetic
TestEm3
geant3
src
uginit.F
Generated by
1.8.13