]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/ctxout.F
Bug in V0A fixed (Guillermo)
[u/mrichter/AliRoot.git] / ISAJET / code / ctxout.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE CTXOUT(NVC,VC,MXVC)
3C-----------------------------------------------------------------------
4C Purpose:
5C Save the context for an ISAJET job:
6C Save in NVC words of VC all common blocks NOT associated only
7C with a single event. Call this and CTXIN to generate mixed
8C events.
9C PARAMETER (MXVC=20000)
10C REAL VC(MXVC)
11C ...
12C CALL CTXIN(NVC,VC,MXVC)
13C
14C Note that the MSSM common blocks are not saved, so different
15C SUSY runs cannot be mixed.
16C
17C Ver. 7.02: Equivalenced dummy variables to avoid mixed
18C arguments in MOVLEV or multiple EQUIVALENCEd
19C arguments to CTXIN/CTXOUT.
20C
21C Author:
22C F.E. Paige, April 1992
23C-----------------------------------------------------------------------
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"
56C
57 INTEGER NVC,MXVC,NC,NN,I
58 REAL VC(MXVC)
59 CHARACTER*8 CLIST(290)
60 EQUIVALENCE (CLIST(1),PARTYP(1))
61C
62C 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))
87C 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))
94C
95 NC=0
96C DKYTAB
97 NN=MXLOOK+6*MXDKY
98 CALL MOVLEV(VLOOK(1),VC(NC+1),NN)
99 NC=NC+NN
100C DYLIM
101 CALL MOVLEV(QMIN,VC(NC+1),24)
102 NC=NC+24
103C DYPAR
104 CALL MOVLEV(VFLW(1),VC(NC+1),13)
105 NC=NC+13
106C EEPAR
107 CALL MOVLEV(SGMXEE,VC(NC+1),1)
108 NC=NC+1
109C FINAL
110 CALL MOVLEV(VNKINF(1),VC(NC+1),5)
111 NC=NC+5
112C FORCE
113 NN=9*MXFORC+1
114 CALL MOVLEV(VFORCE(1),VC(NC+1),NN)
115 NC=NC+NN
116C FRGPAR
117 CALL MOVLEV(PUD,VC(NC+1),41)
118 NC=NC+41
119C HCON
120 CALL MOVLEV(HMASS,VC(NC+1),69)
121 NC=NC+69
122C IDRUN
123 CALL MOVLEV(VIDVER(1),VC(NC+1),5)
124 NC=NC+5
125C ISLOOP
126 CALL MOVLEV(VEVOLV(1),VC(NC+1),4)
127 NC=NC+4
128C ITAPES
129 CALL MOVLEV(VITDKY(1),VC(NC+1),4)
130 NC=NC+4
131C JETLIM
132 CALL MOVLEV(PMIN(1),VC(NC+1),72)
133 NC=NC+72
134C 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
139C LIMEVL
140 CALL MOVLEV(ETTHRS,VC(NC+1),3)
141 NC=NC+3
142C LSTPRT
143 CALL MOVLEV(VSTPRT,VC(NC+1),1)
144 NC=NC+1
145C MBGEN
146 NN=4*LIMPOM+8
147 CALL MOVLEV(POMWT(1),VC(NC+1),NN)
148 NC=NC+NN
149C MBPAR
150 CALL MOVLEV(PUD0,VC(NC+1),19)
151 NC=NC+19
152C NODCAY
153 CALL MOVLEV(VNODCY(1),VC(NC+1),6)
154 NC=NC+6
155C PRIMAR
156 CALL MOVLEV(VNJET(1),VC(NC+1),9)
157 NC=NC+9
158C PRTOUT
159 CALL MOVLEV(VEVPRT(1),VC(NC+1),2)
160 NC=NC+2
161C PTPAR
162 CALL MOVLEV(PTFUN1,VC(NC+1),6)
163 NC=NC+6
164C Q1Q2
165 CALL MOVLEV(VGOQ(1),VC(NC+1),3*MXGOQ+135)
166 NC=NC+3*MXGOQ+135
167C QCDPAR
168 CALL MOVLEV(ALAM,VC(NC+1),4)
169 NC=NC+4
170C QLMASS
171 CALL MOVLEV(AMLEP(1),VC(NC+1),55)
172 NC=NC+55
173C TCPAR
174 CALL MOVLEV(TCMRHO,VC(NC+1),2)
175 NC=NC+2
176C TIMES
177 CALL MOVLEV(TIME1,VC(NC+1),2)
178 NC=NC+2
179C TOTALS
180 CALL MOVLEV(VKINPT(1),VC(NC+1),5)
181 NC=NC+5
182C 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
188100 CONTINUE
189C 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
198C
199 IF(NC.LE.MXVC) THEN
200 NVC=NC
201 RETURN
202 ELSE
203 WRITE(ITLIS,9000) NC
2049000 FORMAT(//' ERROR IN CTXOUT, NC = ',I5)
205 STOP99
206 ENDIF
207 END