]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/code/ctxout.F
fixed a complation warning about not brace-enclosing the sub-elements of
[u/mrichter/AliRoot.git] / ISAJET / code / ctxout.F
1 #include "isajet/pilot.h"
2       SUBROUTINE CTXOUT(NVC,VC,MXVC)
3 C-----------------------------------------------------------------------
4 C  Purpose:
5 C          Save the context for an ISAJET job:
6 C          Save in NVC words of VC all common blocks NOT associated only
7 C          with a single event. Call this and CTXIN to generate mixed
8 C          events.
9 C          PARAMETER (MXVC=20000)
10 C          REAL    VC(MXVC)
11 C          ...
12 C          CALL CTXIN(NVC,VC,MXVC)
13 C
14 C          Note that the MSSM common blocks are not saved, so different
15 C          SUSY runs cannot be mixed.
16 C
17 C          Ver. 7.02: Equivalenced dummy variables to avoid mixed 
18 C                     arguments in MOVLEV or multiple EQUIVALENCEd
19 C                     arguments to CTXIN/CTXOUT.
20 C
21 C  Author:
22 C          F.E. Paige, April 1992     
23 C-----------------------------------------------------------------------
24 #if defined(CERNLIB_IMPNONE)
25       IMPLICIT NONE
26 #endif
27 #include "isajet/dkytab.inc"
28 #include "isajet/dylim.inc"
29 #include "isajet/dypar.inc"
30 #include "isajet/eepar.inc"
31 #include "isajet/final.inc"
32 #include "isajet/force.inc"
33 #include "isajet/frgpar.inc"
34 #include "isajet/hcon.inc"
35 #include "isajet/idrun.inc"
36 #include "isajet/isloop.inc"
37 #include "isajet/itapes.inc"
38 #include "isajet/jetlim.inc"
39 #include "isajet/keys.inc"
40 #include "isajet/limevl.inc"
41 #include "isajet/lstprt.inc"
42 #include "isajet/mbgen.inc"
43 #include "isajet/mbpar.inc"
44 #include "isajet/nodcay.inc"
45 #include "isajet/primar.inc"
46 #include "isajet/prtout.inc"
47 #include "isajet/ptpar.inc"
48 #include "isajet/q1q2.inc"
49 #include "isajet/qcdpar.inc"
50 #include "isajet/qlmass.inc"
51 #include "isajet/tcpar.inc"
52 #include "isajet/times.inc"
53 #include "isajet/totals.inc"
54 #include "isajet/types.inc"
55 #include "isajet/wcon.inc"
56 C
57       INTEGER NVC,MXVC,NC,NN,I
58       REAL VC(MXVC)
59       CHARACTER*8 CLIST(290)
60       EQUIVALENCE (CLIST(1),PARTYP(1))
61 C
62 C          Dummy real variables for integers
63       REAL VLOOK(MXLOOK+6*MXDKY)
64       EQUIVALENCE (VLOOK(1),LOOK(1))
65       REAL VNKINF(5)
66       EQUIVALENCE (VNKINF(1),NKINF)
67       REAL VFORCE(9*MXFORC+1)
68       EQUIVALENCE (VFORCE(1),NFORCE)
69       REAL VIDVER(5)
70       EQUIVALENCE (VIDVER(1),IDVER)
71       REAL VEVOLV(4)
72       EQUIVALENCE (VEVOLV(1),NEVOLV)
73       REAL VITDKY(4)
74       EQUIVALENCE (VITDKY(1),ITDKY)
75       REAL VIKEYS(12)
76       EQUIVALENCE (VIKEYS(1),IKEYS)
77       REAL VSTPRT
78       EQUIVALENCE (VSTPRT,LSTPRT)
79       REAL VNJET(9)
80       EQUIVALENCE (VNJET(1),NJET)
81       REAL VEVPRT(2)
82       EQUIVALENCE (VEVPRT(1),NEVPRT)
83       REAL VKINPT(5)
84       EQUIVALENCE (VKINPT(1),NKINPT)
85       REAL VLOC(100)
86       EQUIVALENCE (VLOC(1),LOC(1))
87 C          Dummy real variables for logicals
88       REAL VFLW(13)
89       EQUIVALENCE (VFLW(1),FLW)
90       REAL VNODCY(6)
91       EQUIVALENCE (VNODCY(1),NODCAY)
92       REAL VGOQ(3*MXGOQ+135)
93       EQUIVALENCE (VGOQ(1),GOQ(1,1))
94 C
95       NC=0
96 C          DKYTAB
97       NN=MXLOOK+6*MXDKY
98       CALL MOVLEV(VLOOK(1),VC(NC+1),NN)
99       NC=NC+NN
100 C          DYLIM
101       CALL MOVLEV(QMIN,VC(NC+1),24)
102       NC=NC+24
103 C          DYPAR
104       CALL MOVLEV(VFLW(1),VC(NC+1),13)
105       NC=NC+13
106 C          EEPAR
107       CALL MOVLEV(SGMXEE,VC(NC+1),1)
108       NC=NC+1
109 C          FINAL
110       CALL MOVLEV(VNKINF(1),VC(NC+1),5)
111       NC=NC+5
112 C          FORCE
113       NN=9*MXFORC+1
114       CALL MOVLEV(VFORCE(1),VC(NC+1),NN)
115       NC=NC+NN
116 C          FRGPAR
117       CALL MOVLEV(PUD,VC(NC+1),41)
118       NC=NC+41
119 C          HCON
120       CALL MOVLEV(HMASS,VC(NC+1),69)
121       NC=NC+69
122 C          IDRUN
123       CALL MOVLEV(VIDVER(1),VC(NC+1),5)
124       NC=NC+5
125 C          ISLOOP
126       CALL MOVLEV(VEVOLV(1),VC(NC+1),4)
127       NC=NC+4
128 C          ITAPES
129       CALL MOVLEV(VITDKY(1),VC(NC+1),4)
130       NC=NC+4
131 C          JETLIM
132       CALL MOVLEV(PMIN(1),VC(NC+1),72)
133       NC=NC+72
134 C          KEYS
135       CALL MOVLEV(VIKEYS(1),VC(NC+1),12)
136       NC=NC+12
137       CALL CTXC2I(REAC,VC(NC+1),8)
138       NC=NC+8
139 C          LIMEVL
140       CALL MOVLEV(ETTHRS,VC(NC+1),3)
141       NC=NC+3
142 C          LSTPRT
143       CALL MOVLEV(VSTPRT,VC(NC+1),1)
144       NC=NC+1
145 C          MBGEN
146       NN=4*LIMPOM+8
147       CALL MOVLEV(POMWT(1),VC(NC+1),NN)
148       NC=NC+NN
149 C          MBPAR
150       CALL MOVLEV(PUD0,VC(NC+1),19)
151       NC=NC+19
152 C          NODCAY
153       CALL MOVLEV(VNODCY(1),VC(NC+1),6)
154       NC=NC+6
155 C          PRIMAR
156       CALL MOVLEV(VNJET(1),VC(NC+1),9)
157       NC=NC+9
158 C          PRTOUT
159       CALL MOVLEV(VEVPRT(1),VC(NC+1),2)
160       NC=NC+2
161 C          PTPAR
162       CALL MOVLEV(PTFUN1,VC(NC+1),6)
163       NC=NC+6
164 C          Q1Q2
165       CALL MOVLEV(VGOQ(1),VC(NC+1),3*MXGOQ+135)
166       NC=NC+3*MXGOQ+135
167 C          QCDPAR
168       CALL MOVLEV(ALAM,VC(NC+1),4)
169       NC=NC+4
170 C          QLMASS
171       CALL MOVLEV(AMLEP(1),VC(NC+1),55)
172       NC=NC+55
173 C          TCPAR
174       CALL MOVLEV(TCMRHO,VC(NC+1),2)
175       NC=NC+2
176 C          TIMES
177       CALL MOVLEV(TIME1,VC(NC+1),2)
178       NC=NC+2
179 C          TOTALS
180       CALL MOVLEV(VKINPT(1),VC(NC+1),5)
181       NC=NC+5
182 C          TYPES
183       CALL MOVLEV(VLOC(1),VC(NC+1),100)
184       NC=NC+100
185       DO 100 I=1,290
186         CALL CTXC2I(CLIST(I),VC(NC+1),8)
187         NC=NC+8
188 100   CONTINUE
189 C          WCON
190 #if defined(CERNLIB_SINGLE)
191       NN=514
192 #endif
193 #if defined(CERNLIB_DOUBLE)
194       NN=514+97
195 #endif
196       CALL MOVLEV(SIN2W,VC(NC+1),NN)
197       NC=NC+NN
198 C
199       IF(NC.LE.MXVC) THEN
200         NVC=NC
201         RETURN
202       ELSE
203         WRITE(ITLIS,9000) NC
204 9000    FORMAT(//' ERROR IN CTXOUT, NC = ',I5)
205         STOP99
206       ENDIF
207       END