]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.2 1996/09/30 13:40:37 ravndal | |
6 | * IABAN initialization | |
7 | * | |
8 | * Revision 1.1.1.1 1995/10/24 10:20:09 cernlib | |
9 | * Geant | |
10 | * | |
11 | * | |
12 | #include "geant321/pilot.h" | |
13 | *CMZ : 3.21/04 22/02/95 08.50.24 by S.Ravndal | |
14 | *-- Author : | |
15 | SUBROUTINE GFFGO | |
16 | C. | |
17 | C. ****************************************************************** | |
18 | C. * * | |
19 | C. * Routine to define and read GEANT/FFREAD data cards * | |
20 | C. * If user data cards have been defined via FFKEY * | |
21 | C. * they will be read as well * | |
22 | C. * * | |
23 | C. * ==>Called by : <USER>, UGINIT * | |
24 | C. * Author R.Brun ********* * | |
25 | C. * * | |
26 | C. ****************************************************************** | |
27 | C. | |
28 | #include "geant321/gcphys.inc" | |
29 | #include "geant321/gccuts.inc" | |
30 | #include "geant321/gcflag.inc" | |
31 | #include "geant321/gckine.inc" | |
32 | #include "geant321/gclist.inc" | |
33 | #include "geant321/gcparm.inc" | |
34 | #include "geant321/gcstak.inc" | |
35 | #include "geant321/gctime.inc" | |
36 | #include "geant321/gctrak.inc" | |
37 | #include "geant321/gcmulo.inc" | |
38 | #include "geant321/gcscan.inc" | |
39 | #include "geant321/gcunit.inc" | |
40 | #include "geant321/gcopti.inc" | |
41 | #include "geant321/gctmed.inc" | |
42 | #include "geant321/gcrz.inc" | |
43 | C. | |
44 | C. ------------------------------------------------------------------ | |
45 | C. | |
46 | IABAN = NINT(DPHYS1) | |
47 | CALL FFKEY ('ANNI',IANNI , 1,'INTEGER') | |
48 | CALL FFKEY ('BREM',IBREM , 1,'INTEGER') | |
49 | CALL FFKEY ('COMP',ICOMP , 1,'INTEGER') | |
50 | CALL FFKEY ('CUTS',CUTGAM,16,'REAL') | |
51 | CALL FFKEY ('DEBU',IDEMIN, 3,'INTEGER') | |
52 | CALL FFKEY ('DCAY',IDCAY , 1,'INTEGER') | |
53 | CALL FFKEY ('DRAY',IDRAY , 1,'INTEGER') | |
54 | CALL FFKEY ('LABS',ILABS , 1,'INTEGER') | |
55 | CALL FFKEY ('GEOM',LGEOM ,20,'MIXED') | |
56 | CALL FFKEY ('GET ',LGET ,20,'MIXED') | |
57 | CALL FFKEY ('HADR',IHADR , 1,'INTEGER') | |
58 | CALL FFKEY ('HSTA',LHSTA ,20,'MIXED') | |
59 | CALL FFKEY ('KINE',IKINE ,11,'MIXED') | |
60 | CALL FFKEY ('LOSS',ILOSS , 1,'INTEGER') | |
61 | CALL FFKEY ('MULS',IMULS , 1,'INTEGER') | |
62 | CALL FFKEY ('MUNU',IMUNU , 1,'INTEGER') | |
63 | CALL FFKEY ('PAIR',IPAIR , 1,'INTEGER') | |
64 | * CALL FFKEY ('PATR',NJTMAX, 4,'INTEGER') | |
65 | CALL FFKEY ('SORD',ISTORD, 1,'INTEGER') | |
66 | CALL FFKEY ('PFIS',IPFIS , 1,'INTEGER') | |
67 | CALL FFKEY ('PHOT',IPHOT , 1,'INTEGER') | |
68 | CALL FFKEY ('PLOT',LPLOT ,20,'MIXED') | |
69 | CALL FFKEY ('PRIN',LPRIN ,20,'MIXED') | |
70 | CALL FFKEY ('RAYL',IRAYL , 1,'INTEGER') | |
71 | CALL FFKEY ('RGET',LRGET ,20,'MIXED') | |
72 | CALL FFKEY ('RSAV',LRSAVE,20,'MIXED') | |
73 | CALL FFKEY ('RNDM',NRNDM , 2,'INTEGER') | |
74 | CALL FFKEY ('RUNG',IDRUN , 2,'INTEGER') | |
75 | CALL FFKEY ('SAVE',LSAVE ,20,'MIXED') | |
76 | CALL FFKEY ('SETS',LSETS ,20,'MIXED') | |
77 | CALL FFKEY ('STAT',LSTAT ,20,'MIXED') | |
78 | CALL FFKEY ('SWIT',ISWIT ,10,'INTEGER') | |
79 | CALL FFKEY ('TIME',TIMINT, 3,'MIXED') | |
80 | CALL FFKEY ('TRIG',NEVENT, 1,'INTEGER') | |
81 | CALL FFKEY ('VIEW',LVIEW ,20,'MIXED') | |
82 | CALL FFKEY ('ERAN',EKMIN , 3,'MIXED') | |
83 | CALL FFKEY ('AUTO',IGAUTO, 1,'INTEGER') | |
84 | CALL FFKEY ('OPTI',IOPTIM, 1,'INTEGER') | |
85 | CALL FFKEY ('CKOV',ITCKOV, 1,'INTEGER') | |
86 | CALL FFKEY ('SYNC',ISYNC, 1,'INTEGER') | |
87 | CALL FFKEY ('STRA',ISTRA, 1,'INTEGER') | |
88 | CALL FFKEY ('ABAN',IABAN, 1,'INTEGER') | |
89 | *--------------- SCAN/Parametrize cards | |
90 | CALL FFKEY ('SCAN',SCANFL, 8,'MIXED') | |
91 | CALL FFKEY ('SCAL',ISLIST,MSLIST,'MIXED') | |
92 | CALL FFKEY ('SCAP',VSCAN , 6,'REAL') | |
93 | CALL FFKEY ('PCUT',IPARAM, 6,'MIXED') | |
94 | CALL FFKEY ('PNUM',MPSTAK, 2,'MIXED') | |
95 | C | |
96 | C Now read data cards | |
97 | C | |
98 | CALL FFGO | |
99 | C | |
100 | C Get some parameters from the data cards | |
101 | C | |
102 | CALL GETNUM (LHSTA ,NHSTA) | |
103 | CALL GETNUM (LGET ,NGET) | |
104 | CALL GETNUM (LSAVE ,NSAVE) | |
105 | CALL GETNUM (LRGET ,NRGET) | |
106 | CALL GETNUM (LRSAVE,NRSAVE) | |
107 | CALL GETNUM (LSETS ,NSETS) | |
108 | CALL GETNUM (LPRIN ,NPRIN) | |
109 | CALL GETNUM (LGEOM ,NGEOM) | |
110 | CALL GETNUM (LVIEW ,NVIEW) | |
111 | CALL GETNUM (LPLOT ,NPLOT) | |
112 | CALL GETNUM (LSTAT ,NSTAT) | |
113 | CALL GETNUM (ISLIST,NSLIST) | |
114 | * | |
115 | IF(ILABS.NE.0) THEN | |
116 | IF(ITCKOV.NE.0) ILABS=1 | |
117 | ENDIF | |
118 | * | |
119 | IF (NINT(DPHYS1).NE.IABAN) THEN | |
120 | DPHYS1 = IABAN | |
121 | END IF | |
122 | * | |
123 | IF(MODTET.LT.1.OR.MODTET.GT.MAXMDT) THEN | |
124 | WRITE(LOUT,10000) MODTET | |
125 | 10000 FORMAT(' MODTET = ',I2,' out of range - 1 assumed') | |
126 | MODTET=1 | |
127 | ENDIF | |
128 | TETMIN = TETMID(MODTET) | |
129 | TETMAX = TETMAD(MODTET) | |
130 | IF(IDEVT.GT.0)IDEVT=IDEVT-1 | |
131 | C | |
132 | C Set IDEBUG flag for initialisation phase | |
133 | C | |
134 | IF(IDEMIN.LT.0.AND.IDEMAX.GE.0)THEN | |
135 | IDEMIN=-IDEMIN | |
136 | IDEBUG=1 | |
137 | ENDIF | |
138 | C | |
139 | C Initialise the random number generator | |
140 | C | |
141 | IF(NRNDM(2).NE.0)THEN | |
142 | CALL GRNDMQ(NRNDM(1),NRNDM(2),1,'S') | |
143 | ELSEIF(NRNDM(1).GT.0)THEN | |
144 | ISEQ=NRNDM(1) | |
145 | CALL GRNDMQ(NRNDM(1),NRNDM(2),ISEQ,'Q') | |
146 | CALL GRNDMQ(NRNDM(1),NRNDM(2),ISEQ,'S') | |
147 | ENDIF | |
148 | C | |
149 | 999 END |