| 1 |
|
|---|
| 2 | PROGRAM MAIN
|
|---|
| 3 |
|
|---|
| 4 | C-----------------------------------------------------------------------
|
|---|
| 5 | C MAIN PROGRAM
|
|---|
| 6 | C
|
|---|
| 7 | C SIMULATION OF EXTENSIVE AIR SHOWERS
|
|---|
| 8 | C PREPARES INITIALIZATIONS
|
|---|
| 9 | C GENERATES SHOWERS IN THE SHOWER LOOP
|
|---|
| 10 | C TREATES PARTICLES IN THE PARTICLE LOOP
|
|---|
| 11 | C PERFORMS PRINTING OF TABLES AT END OF SHOWER AND AT END OF RUN
|
|---|
| 12 | C-----------------------------------------------------------------------
|
|---|
| 13 |
|
|---|
| 14 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 15 | parameter (xct=1)
|
|---|
| 16 | parameter (yct=2)
|
|---|
| 17 | parameter (zct=3)
|
|---|
| 18 | parameter (ctthet=4)
|
|---|
| 19 | parameter (ctphi=5)
|
|---|
| 20 | parameter (ctdiam=6)
|
|---|
| 21 | parameter (ctfoc=7)
|
|---|
| 22 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 23 |
|
|---|
| 24 | IMPLICIT DOUBLE PRECISION (A-H,O-Z)
|
|---|
| 25 | *KEEP,BAL.
|
|---|
| 26 | COMMON /BAL/ EBAL
|
|---|
| 27 | DOUBLE PRECISION EBAL(10)
|
|---|
| 28 | *KEEP,BUFFS.
|
|---|
| 29 | COMMON /BUFFS/ RUNH,RUNE,EVTH,EVTE,DATAB,LH
|
|---|
| 30 | INTEGER MAXBUF,MAXLEN
|
|---|
| 31 | PARAMETER (MAXBUF=39*7)
|
|---|
| 32 | PARAMETER (MAXLEN=12)
|
|---|
| 33 | REAL RUNH(MAXBUF),EVTH(MAXBUF),EVTE(MAXBUF),
|
|---|
| 34 | * RUNE(MAXBUF),DATAB(MAXBUF)
|
|---|
| 35 | INTEGER LH
|
|---|
| 36 | CHARACTER*4 CRUNH,CRUNE,CEVTH,CEVTE
|
|---|
| 37 | EQUIVALENCE (RUNH(1),CRUNH), (RUNE(1),CRUNE)
|
|---|
| 38 | EQUIVALENCE (EVTH(1),CEVTH), (EVTE(1),CEVTE)
|
|---|
| 39 | *KEEP,CHISTA.
|
|---|
| 40 | COMMON /CHISTA/ IHYCHI,IKACHI,IMUCHI,INNCHI,INUCHI,IPICHI
|
|---|
| 41 | INTEGER IHYCHI(124),IKACHI(124),IMUCHI(124),
|
|---|
| 42 | * INNCHI(124),INUCHI(124),IPICHI(124)
|
|---|
| 43 | *KEEP,CONST.
|
|---|
| 44 | COMMON /CONST/ PI,PI2,OB3,TB3,ENEPER
|
|---|
| 45 | DOUBLE PRECISION PI,PI2,OB3,TB3,ENEPER
|
|---|
| 46 | *KEEP,CURVE.
|
|---|
| 47 | COMMON /CURVE/ CHAPAR,DEP,ERR,NSTP
|
|---|
| 48 | DOUBLE PRECISION CHAPAR(1100),DEP(1100),ERR(1100)
|
|---|
| 49 | INTEGER NSTP
|
|---|
| 50 | *KEEP,ELADPM.
|
|---|
| 51 | COMMON /ELADPM/ ELMEAN,ELMEAA,IELDPM,IELDPA
|
|---|
| 52 | DOUBLE PRECISION ELMEAN(37),ELMEAA(37)
|
|---|
| 53 | INTEGER IELDPM(37,13),IELDPA(37,13)
|
|---|
| 54 | *KEEP,ELASTY.
|
|---|
| 55 | COMMON /ELASTY/ ELAST,IELIS,IELHM,IELNU,IELPI
|
|---|
| 56 | DOUBLE PRECISION ELAST
|
|---|
| 57 | INTEGER IELIS(20),IELHM(20),IELNU(20),IELPI(20)
|
|---|
| 58 | *KEEP,GENER.
|
|---|
| 59 | COMMON /GENER/ GEN,ALEVEL
|
|---|
| 60 | DOUBLE PRECISION GEN,ALEVEL
|
|---|
| 61 | *KEEP,IRET.
|
|---|
| 62 | COMMON /IRET/ IRET1,IRET2
|
|---|
| 63 | INTEGER IRET1,IRET2
|
|---|
| 64 | *KEEP,ISTA.
|
|---|
| 65 | COMMON /ISTA/ IFINET,IFINNU,IFINKA,IFINPI,IFINHY
|
|---|
| 66 | INTEGER IFINET,IFINNU,IFINKA,IFINPI,IFINHY
|
|---|
| 67 | *KEEP,LONGI.
|
|---|
| 68 | COMMON /LONGI/ APLONG,HLONG,PLONG,SPLONG,THSTEP,THSTPI,
|
|---|
| 69 | * NSTEP,LLONGI,FLGFIT
|
|---|
| 70 | DOUBLE PRECISION APLONG(0:1040,9),HLONG(0:1024),PLONG(0:1040,9),
|
|---|
| 71 | * SPLONG(0:1040,9),THSTEP,THSTPI
|
|---|
| 72 | INTEGER NSTEP
|
|---|
| 73 | LOGICAL LLONGI,FLGFIT
|
|---|
| 74 | *KEEP,MPARTI.
|
|---|
| 75 | COMMON /MPARTI/ MPARTO
|
|---|
| 76 | DOUBLE PRECISION MPARTO(10,25),MPHOTO(10),MPOSIT(10),MELECT(10),
|
|---|
| 77 | * MNU(10),MMUP(10),MMUM(10),MPI0(10),MPIP(10),
|
|---|
| 78 | * MPIM(10),MK0L(10),MKPL(10),MKMI(10),MNEUTR(10),
|
|---|
| 79 | * MPROTO(10),MPROTB(10),MK0S(10),MHYP(10),
|
|---|
| 80 | * MNEUTB(10),MDEUT(10),MTRIT(10),MALPHA(10),
|
|---|
| 81 | * MOTHER(10)
|
|---|
| 82 | EQUIVALENCE (MPARTO(1, 1),MPHOTO(1)), (MPARTO(1, 2),MPOSIT(1)),
|
|---|
| 83 | * (MPARTO(1, 3),MELECT(1)), (MPARTO(1, 4),MNU(1)) ,
|
|---|
| 84 | * (MPARTO(1, 5),MMUP(1)) , (MPARTO(1, 6),MMUM(1)) ,
|
|---|
| 85 | * (MPARTO(1, 7),MPI0(1)) , (MPARTO(1, 8),MPIP(1)) ,
|
|---|
| 86 | * (MPARTO(1, 9),MPIM(1)) , (MPARTO(1,10),MK0L(1)) ,
|
|---|
| 87 | * (MPARTO(1,11),MKPL(1)) , (MPARTO(1,12),MKMI(1)) ,
|
|---|
| 88 | * (MPARTO(1,13),MNEUTR(1)), (MPARTO(1,14),MPROTO(1)),
|
|---|
| 89 | * (MPARTO(1,15),MPROTB(1)), (MPARTO(1,16),MK0S(1)) ,
|
|---|
| 90 | * (MPARTO(1,18),MHYP(1)) , (MPARTO(1,19),MDEUT(1)) ,
|
|---|
| 91 | * (MPARTO(1,20),MTRIT(1)) , (MPARTO(1,21),MALPHA(1)),
|
|---|
| 92 | * (MPARTO(1,22),MOTHER(1)), (MPARTO(1,25),MNEUTB(1))
|
|---|
| 93 | *KEEP,MULT.
|
|---|
| 94 | COMMON /MULT/ EKINL,MSMM,MULTMA,MULTOT
|
|---|
| 95 | DOUBLE PRECISION EKINL
|
|---|
| 96 | INTEGER MSMM,MULTMA(37,13),MULTOT(37,13)
|
|---|
| 97 | *KEEP,MUPART.
|
|---|
| 98 | COMMON /MUPART/ AMUPAR,BCUT,CMUON,FMUBRM,FMUORG
|
|---|
| 99 | DOUBLE PRECISION AMUPAR(14),BCUT,CMUON(11)
|
|---|
| 100 | LOGICAL FMUBRM,FMUORG
|
|---|
| 101 | *KEEP,NCOUNT.
|
|---|
| 102 | COMMON /NCOUNT/ NCOUN
|
|---|
| 103 | INTEGER NCOUN(8)
|
|---|
| 104 | *KEEP,NKGI.
|
|---|
| 105 | COMMON /NKGI/ SEL,SELLG,STH,ZEL,ZELLG,ZSL,DIST,
|
|---|
| 106 | * DISX,DISY,DISXY,DISYX,DLAX,DLAY,DLAXY,DLAYX,
|
|---|
| 107 | * OBSATI,RADNKG,RMOL,TLEV,TLEVCM,IALT
|
|---|
| 108 | DOUBLE PRECISION SEL(10),SELLG(10),STH(10),ZEL(10),ZELLG(10),
|
|---|
| 109 | * ZSL(10),DIST(10),
|
|---|
| 110 | * DISX(-10:10),DISY(-10:10),
|
|---|
| 111 | * DISXY(-10:10,2),DISYX(-10:10,2),
|
|---|
| 112 | * DLAX (-10:10,2),DLAY (-10:10,2),
|
|---|
| 113 | * DLAXY(-10:10,2),DLAYX(-10:10,2),
|
|---|
| 114 | * OBSATI(2),RADNKG,RMOL(2),TLEV(10),TLEVCM(10)
|
|---|
| 115 | INTEGER IALT(2)
|
|---|
| 116 | *KEEP,NKGS.
|
|---|
| 117 | COMMON /NKGS/ CZX,CZY,CZXY,CZYX,SAH,SL,ZNE
|
|---|
| 118 | DOUBLE PRECISION CZX(-10:10,2),CZY(-10:10,2),CZXY(-10:10,2),
|
|---|
| 119 | * CZYX(-10:10,2),SAH(10),SL(10),ZNE(10)
|
|---|
| 120 | *KEEP,NPARTI.
|
|---|
| 121 | COMMON /NPARTI/ NPARTO,MUOND
|
|---|
| 122 | DOUBLE PRECISION NPARTO(10,25),NPHOTO(10),NPOSIT(10),NELECT(10),
|
|---|
| 123 | * NNU(10),NMUP(10),NMUM(10),NPI0(10),NPIP(10),
|
|---|
| 124 | * NPIM(10),NK0L(10),NKPL(10),NKMI(10),NNEUTR(10),
|
|---|
| 125 | * NPROTO(10),NPROTB(10),NK0S(10),NHYP(10),
|
|---|
| 126 | * NNEUTB(10),NDEUT(10),NTRIT(10),NALPHA(10),
|
|---|
| 127 | * NOTHER(10),MUOND
|
|---|
| 128 | EQUIVALENCE (NPARTO(1, 1),NPHOTO(1)), (NPARTO(1, 2),NPOSIT(1)),
|
|---|
| 129 | * (NPARTO(1, 3),NELECT(1)), (NPARTO(1, 4),NNU(1)) ,
|
|---|
| 130 | * (NPARTO(1, 5),NMUP(1)) , (NPARTO(1, 6),NMUM(1)) ,
|
|---|
| 131 | * (NPARTO(1, 7),NPI0(1)) , (NPARTO(1, 8),NPIP(1)) ,
|
|---|
| 132 | * (NPARTO(1, 9),NPIM(1)) , (NPARTO(1,10),NK0L(1)) ,
|
|---|
| 133 | * (NPARTO(1,11),NKPL(1)) , (NPARTO(1,12),NKMI(1)) ,
|
|---|
| 134 | * (NPARTO(1,13),NNEUTR(1)), (NPARTO(1,14),NPROTO(1)),
|
|---|
| 135 | * (NPARTO(1,15),NPROTB(1)), (NPARTO(1,16),NK0S(1)) ,
|
|---|
| 136 | * (NPARTO(1,18),NHYP(1)) , (NPARTO(1,19),NDEUT(1)) ,
|
|---|
| 137 | * (NPARTO(1,20),NTRIT(1)) , (NPARTO(1,21),NALPHA(1)),
|
|---|
| 138 | * (NPARTO(1,22),NOTHER(1)), (NPARTO(1,25),NNEUTB(1))
|
|---|
| 139 | *KEEP,OBSPAR.
|
|---|
| 140 | COMMON /OBSPAR/ OBSLEV,THCKOB,XOFF,YOFF,THETAP,PHIP,
|
|---|
| 141 | * THETPR,PHIPR,NOBSLV
|
|---|
| 142 | DOUBLE PRECISION OBSLEV(10),THCKOB(10),XOFF(10),YOFF(10),
|
|---|
| 143 | * THETAP,THETPR(2),PHIP,PHIPR(2)
|
|---|
| 144 | INTEGER NOBSLV
|
|---|
| 145 | *KEEP,PAM.
|
|---|
| 146 | COMMON /PAM/ PAMA,SIGNUM
|
|---|
| 147 | DOUBLE PRECISION PAMA(6000),SIGNUM(6000)
|
|---|
| 148 | *KEEP,PARPAR.
|
|---|
| 149 | COMMON /PARPAR/ CURPAR,SECPAR,PRMPAR,OUTPAR,C,
|
|---|
| 150 | * E00,E00PN,PTOT0,PTOT0N,THICKH,ITYPE,LEVL
|
|---|
| 151 | DOUBLE PRECISION CURPAR(14),SECPAR(14),PRMPAR(14),OUTPAR(14),
|
|---|
| 152 | * C(50),E00,E00PN,PTOT0,PTOT0N,THICKH
|
|---|
| 153 | INTEGER ITYPE,LEVL
|
|---|
| 154 | *KEEP,PARPAE.
|
|---|
| 155 | DOUBLE PRECISION GAMMA,COSTHE,PHI,H,T,X,Y,CHI,BETA,GCM,ECM
|
|---|
| 156 | EQUIVALENCE (CURPAR(2),GAMMA), (CURPAR(3),COSTHE),
|
|---|
| 157 | * (CURPAR(4), PHI ), (CURPAR(5), H ),
|
|---|
| 158 | * (CURPAR(6), T ), (CURPAR(7), X ),
|
|---|
| 159 | * (CURPAR(8), Y ), (CURPAR(9), CHI ),
|
|---|
| 160 | * (CURPAR(10),BETA), (CURPAR(11),GCM ),
|
|---|
| 161 | * (CURPAR(12),ECM )
|
|---|
| 162 | *KEEP,PBALA.
|
|---|
| 163 | COMMON /PBALA/ PBAL
|
|---|
| 164 | DOUBLE PRECISION PBAL(10)
|
|---|
| 165 | *KEEP,PRIMSP.
|
|---|
| 166 | COMMON /PRIMSP/ PSLOPE,LLIMIT,ULIMIT,LL,UL,SLEX,ISPEC
|
|---|
| 167 | DOUBLE PRECISION PSLOPE,LLIMIT,ULIMIT,LL,UL,SLEX
|
|---|
| 168 | INTEGER ISPEC
|
|---|
| 169 | *KEEP,RANDPA.
|
|---|
| 170 | COMMON /RANDPA/ FAC,U1,U2,RD,NSEQ,ISEED,KNOR
|
|---|
| 171 | DOUBLE PRECISION FAC,U1,U2
|
|---|
| 172 | REAL RD(3000)
|
|---|
| 173 | INTEGER ISEED(103,10),NSEQ
|
|---|
| 174 | LOGICAL KNOR
|
|---|
| 175 | *KEEP,RECORD.
|
|---|
| 176 | COMMON /RECORD/ IRECOR
|
|---|
| 177 | INTEGER IRECOR
|
|---|
| 178 | *KEEP,REJECT.
|
|---|
| 179 | COMMON /REJECT/ AVNREJ,
|
|---|
| 180 | * ALTMIN,ANEXP,THICKA,THICKD,CUTLN,EONCUT,
|
|---|
| 181 | * FNPRIM
|
|---|
| 182 | DOUBLE PRECISION AVNREJ(10)
|
|---|
| 183 | REAL ALTMIN(10),ANEXP(10),THICKA(10),THICKD(10),
|
|---|
| 184 | * CUTLN,EONCUT
|
|---|
| 185 | LOGICAL FNPRIM
|
|---|
| 186 | *KEEP,RESON.
|
|---|
| 187 | COMMON /RESON/ RDRES,RESRAN,IRESPAR
|
|---|
| 188 | REAL RDRES(2),RESRAN(1000)
|
|---|
| 189 | INTEGER IRESPAR
|
|---|
| 190 |
|
|---|
| 191 | *KEEP,RUNPAR.
|
|---|
| 192 | COMMON /RUNPAR/ FIXHEI,THICK0,HILOECM,HILOELB,
|
|---|
| 193 | * STEPFC,NRRUN,NSHOW,PATAPE,MONIIN,
|
|---|
| 194 | * MONIOU,MDEBUG,NUCNUC,
|
|---|
| 195 | * CETAPE,
|
|---|
| 196 | * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
|
|---|
| 197 | * N1STTR,MDBASE,
|
|---|
| 198 | * DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
|
|---|
| 199 | * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
|
|---|
| 200 | * ,GHEISH,GHESIG
|
|---|
| 201 | COMMON /RUNPAC/ DSN,HOST,USER
|
|---|
| 202 | DOUBLE PRECISION FIXHEI,THICK0,HILOECM,HILOELB
|
|---|
| 203 | REAL STEPFC
|
|---|
| 204 | INTEGER NRRUN,NSHOW,PATAPE,MONIIN,MONIOU,MDEBUG,NUCNUC,
|
|---|
| 205 | * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
|
|---|
| 206 | * N1STTR,MDBASE
|
|---|
| 207 | INTEGER CETAPE
|
|---|
| 208 | CHARACTER*79 DSN
|
|---|
| 209 | CHARACTER*20 HOST,USER
|
|---|
| 210 |
|
|---|
| 211 | LOGICAL DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
|
|---|
| 212 | * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
|
|---|
| 213 | * ,GHEISH,GHESIG
|
|---|
| 214 | *KEEP,STACKF.
|
|---|
| 215 | COMMON /STACKF/ STACK,STACKP,EXST,NSHIFT,NOUREC,ICOUNT,NTO,NFROM
|
|---|
| 216 | INTEGER MAXSTK
|
|---|
| 217 | PARAMETER (MAXSTK = 12*340*2)
|
|---|
| 218 | DOUBLE PRECISION STACK(MAXSTK)
|
|---|
| 219 | INTEGER STACKP,EXST,NSHIFT,NOUREC,ICOUNT,NTO,NFROM
|
|---|
| 220 | *KEEP,STATI.
|
|---|
| 221 | COMMON /STATI/ SABIN,SBBIN,INBIN,IPBIN,IKBIN,IHBIN
|
|---|
| 222 | DOUBLE PRECISION SABIN(37),SBBIN(37)
|
|---|
| 223 | INTEGER INBIN(37),IPBIN(37),IKBIN(37),IHBIN(37)
|
|---|
| 224 | *KEEP,THNVAR.
|
|---|
| 225 | COMMON /THNVAR/ STACKINT,INT_ICOUNT,THINNING
|
|---|
| 226 | INTEGER MAXICOUNT
|
|---|
| 227 | PARAMETER (MAXICOUNT=20000)
|
|---|
| 228 | DOUBLE PRECISION STACKINT(MAXICOUNT,13)
|
|---|
| 229 | INTEGER INT_ICOUNT
|
|---|
| 230 | LOGICAL THINNING
|
|---|
| 231 | *KEEP,VERS.
|
|---|
| 232 | COMMON /VERS/ VERNUM,MVDATE,VERDAT
|
|---|
| 233 | DOUBLE PRECISION VERNUM
|
|---|
| 234 | INTEGER MVDATE
|
|---|
| 235 | CHARACTER*18 VERDAT
|
|---|
| 236 | *KEEP,CEREN1.
|
|---|
| 237 | COMMON /CEREN1/ CERELE,CERHAD,ETADSN,WAVLGL,WAVLGU,CYIELD,
|
|---|
| 238 | * CERSIZ,LCERFI
|
|---|
| 239 | DOUBLE PRECISION CERELE,CERHAD,ETADSN,WAVLGL,WAVLGU,CYIELD
|
|---|
| 240 | REAL CERSIZ
|
|---|
| 241 | LOGICAL LCERFI
|
|---|
| 242 | *KEEP,CEREN2.
|
|---|
| 243 | COMMON /CEREN2/ PHOTCM,XCER,YCER,UEMIS,VEMIS,CARTIM,ZEMIS,
|
|---|
| 244 | * DCERX,DCERY,ACERX,ACERY,
|
|---|
| 245 | * XCMAX,YCMAX,EPSX,EPSY,
|
|---|
| 246 | * DCERXI,DCERYI,FCERX,FCERY,
|
|---|
| 247 | * XSCATT,YSCATT,CERXOS,CERYOS,
|
|---|
| 248 | * NCERX,NCERY,ICERML
|
|---|
| 249 | REAL PHOTCM,XCER,YCER,UEMIS,VEMIS,CARTIM,ZEMIS,
|
|---|
| 250 | * DCERX,DCERY,ACERX,ACERY,
|
|---|
| 251 | * XCMAX,YCMAX,EPSX,EPSY,
|
|---|
| 252 | * DCERXI,DCERYI,FCERX,FCERY,
|
|---|
| 253 | * XSCATT,YSCATT,CERXOS(20),CERYOS(20)
|
|---|
| 254 | INTEGER NCERX,NCERY,ICERML
|
|---|
| 255 | *KEEP,CEREN3.
|
|---|
| 256 | COMMON /CEREN3/ CERCNT,DATAB2,LHCER
|
|---|
| 257 | INTEGER MAXBF2
|
|---|
| 258 | PARAMETER (MAXBF2 = 39 * 7)
|
|---|
| 259 | DOUBLE PRECISION CERCNT
|
|---|
| 260 | REAL DATAB2(MAXBF2)
|
|---|
| 261 | INTEGER LHCER
|
|---|
| 262 | *KEEP,CEREN4.
|
|---|
| 263 | COMMON /CEREN4/ NRECER
|
|---|
| 264 | INTEGER NRECER
|
|---|
| 265 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 266 | *keep,certel.
|
|---|
| 267 | common /certel/ cormxd,cord,coralp,ctpars,omega,
|
|---|
| 268 | + photn,photnp,phpt,pht,vphot,
|
|---|
| 269 | + vchi,veta,vzeta,vchim,vetam,vzetam,
|
|---|
| 270 | + lambda,mu,nu,nctels,ncph
|
|---|
| 271 | double precision cormxd,cord,coralp,ctpars(20,7),omega(20,3,3),
|
|---|
| 272 | + photn(3),photnp(3),phpt(3),pht,vphot(3),
|
|---|
| 273 | + vchi(3),veta(3),vzeta(3),vchim,vetam,vzetam,
|
|---|
| 274 | + lambda,mu,nu
|
|---|
| 275 | integer nctels,ncph(5)
|
|---|
| 276 | double precision xg,yg,zg,xgp,ygp,zgp,up,vp,wp,xpcut,ypcut,zpcut
|
|---|
| 277 | equivalence (photn(1) ,xg) ,(photn(2) ,yg) ,(photn(3) ,zg) ,
|
|---|
| 278 | + (photnp(1),xgp) ,(photnp(2),ygp) ,(photnp(3),zgp),
|
|---|
| 279 | + (phpt(1) ,xpcut),(phpt(2) ,ypcut),(phpt(3) ,zpcut),
|
|---|
| 280 | + (vphot(1) ,up) ,(vphot(2) ,vp) ,(vphot(3) ,wp)
|
|---|
| 281 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 282 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 283 | C Modificacion hecha por Aitor (5-feb-98)
|
|---|
| 284 | common /aitor/ aitoth
|
|---|
| 285 | double precision aitoth
|
|---|
| 286 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 287 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 288 | c Angles for the "spinning" of a particle around the
|
|---|
| 289 | c main axis of the CT
|
|---|
| 290 | common /spinang/ spinxi
|
|---|
| 291 | double precision spinxi
|
|---|
| 292 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 293 |
|
|---|
| 294 |
|
|---|
| 295 | *KEND.
|
|---|
| 296 |
|
|---|
| 297 | INTEGER JNBIN(37),JPBIN(37),JKBIN(37),JHBIN(37)
|
|---|
| 298 | DOUBLE PRECISION CHI2,FPARAM(6)
|
|---|
| 299 | DOUBLE PRECISION MPART2(10,25),MPHOT2(10),MPOSI2(10),MELEC2(10),
|
|---|
| 300 | * MNU2(10),MMUP2(10),MMUM2(10),MPI02(10),MPIP2(10),
|
|---|
| 301 | * MPIM2(10),MK0L2(10),MKPL2(10),MKMI2(10),
|
|---|
| 302 | * MNETR2(10),MPROT2(10),MPRTB2(10),MK0S2(10),
|
|---|
| 303 | * MHYP2(10),MNETB2(10),MDEUT2(10),MTRIT2(10),
|
|---|
| 304 | * MALPH2(10),MOTH2(10)
|
|---|
| 305 | EQUIVALENCE (MPART2(1, 1),MPHOT2(1)), (MPART2(1, 2),MPOSI2(1)),
|
|---|
| 306 | * (MPART2(1, 3),MELEC2(1)), (MPART2(1, 4),MNU2(1)) ,
|
|---|
| 307 | * (MPART2(1, 5),MMUP2(1)) , (MPART2(1, 6),MMUM2(1)) ,
|
|---|
| 308 | * (MPART2(1, 7),MPI02(1)) , (MPART2(1, 8),MPIP2(1)) ,
|
|---|
| 309 | * (MPART2(1, 9),MPIM2(1)) , (MPART2(1,10),MK0L2(1)) ,
|
|---|
| 310 | * (MPART2(1,11),MKPL2(1)) , (MPART2(1,12),MKMI2(1)) ,
|
|---|
| 311 | * (MPART2(1,13),MNETR2(1)), (MPART2(1,14),MPROT2(1)),
|
|---|
| 312 | * (MPART2(1,15),MPRTB2(1)), (MPART2(1,16),MK0S2(1)) ,
|
|---|
| 313 | * (MPART2(1,18),MHYP2(1)) , (MPART2(1,19),MDEUT2(1)),
|
|---|
| 314 | * (MPART2(1,20),MTRIT2(1)), (MPART2(1,21),MALPH2(1)),
|
|---|
| 315 | * (MPART2(1,22),MOTH2 (1)), (MPART2(1,25),MNETB2(1))
|
|---|
| 316 | C VARIABLES BEING USED FOR RUNTIME
|
|---|
| 317 | REAL TDIFF
|
|---|
| 318 | INTEGER ILEFTA,ILEFTB,TIME
|
|---|
| 319 | EXTERNAL TIME
|
|---|
| 320 |
|
|---|
| 321 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 322 | double precision ctdiams(20)
|
|---|
| 323 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 324 | double precision theprim, phiprim
|
|---|
| 325 | double precision spinthe, spinphi
|
|---|
| 326 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 327 |
|
|---|
| 328 |
|
|---|
| 329 | C-----------------------------------------------------------------------
|
|---|
| 330 |
|
|---|
| 331 |
|
|---|
| 332 | CERELE = 0.D0
|
|---|
| 333 | CERHAD = 0.D0
|
|---|
| 334 | NRECER = 0
|
|---|
| 335 | C INITIALIZE AND READ RUN STEERING CARDS
|
|---|
| 336 | CALL START
|
|---|
| 337 |
|
|---|
| 338 | IF ( CERSIZ .LE. 0. ) THEN
|
|---|
| 339 | ICRSIZ = 0
|
|---|
| 340 | ELSE
|
|---|
| 341 | ICRSIZ = 1
|
|---|
| 342 | ENDIF
|
|---|
| 343 |
|
|---|
| 344 | C RESET COUNTER FOR WORDS WRITTEN TO TAPE
|
|---|
| 345 | IRECOR = 0
|
|---|
| 346 |
|
|---|
| 347 | C RESET COUNTER FOR AVERAGE HIGHT OF 1ST INTERACTION
|
|---|
| 348 | CHISUM = 0.D0
|
|---|
| 349 | CHISM2 = 0.D0
|
|---|
| 350 |
|
|---|
| 351 | C SET ARRAYS FOR SCALES OF KINETIC ENERGY-INTERACTION TABLE
|
|---|
| 352 | SABIN(1) = 0.D0
|
|---|
| 353 | SBBIN(1) = 0.1D0
|
|---|
| 354 | DO 13 J = 2,37
|
|---|
| 355 | SABIN(J) = 10.D0**((J-4.D0)/3.D0)
|
|---|
| 356 | SBBIN(J) = 10.D0**((J-3.D0)/3.D0)
|
|---|
| 357 | 13 CONTINUE
|
|---|
| 358 |
|
|---|
| 359 | C CHECK AND SET PRIMARY PARAMETERS
|
|---|
| 360 | CALL INPRM
|
|---|
| 361 |
|
|---|
| 362 | do 161 i=1,nctels
|
|---|
| 363 | ctdiams(i) = ctpars(i,ctdiam)
|
|---|
| 364 | 161 continue
|
|---|
| 365 |
|
|---|
| 366 | C INITIALIZE NKG ROUTINES
|
|---|
| 367 | CALL ININKG
|
|---|
| 368 |
|
|---|
| 369 | C RESET COUNTERS FOR NUCLEON, PION AND KAON TABLE FOR ALL SHOWERS
|
|---|
| 370 | C RESET ENERGY-MULTIPLICITY & ENERGY-ELASTICITY MATRIX FOR ALL SHOWERS
|
|---|
| 371 | DO 17 J = 1,37
|
|---|
| 372 | JNBIN(J) = 0
|
|---|
| 373 | JPBIN(J) = 0
|
|---|
| 374 | JKBIN(J) = 0
|
|---|
| 375 | JHBIN(J) = 0
|
|---|
| 376 | ELMEAA(J) = 0.D0
|
|---|
| 377 | DO 17 L = 1,13
|
|---|
| 378 | MULTOT(J,L) = 0
|
|---|
| 379 | IELDPA(J,L) = 0
|
|---|
| 380 | 17 CONTINUE
|
|---|
| 381 |
|
|---|
| 382 | C RESET OTHER ARRAYS FOR ALL SHOWERS
|
|---|
| 383 | DO 99 J = 1,20
|
|---|
| 384 | IELNU(J) = 0
|
|---|
| 385 | IELPI(J) = 0
|
|---|
| 386 | IELIS(J) = 0
|
|---|
| 387 | IELHM(J) = 0
|
|---|
| 388 | 99 CONTINUE
|
|---|
| 389 |
|
|---|
| 390 | C RESET ARRAYS FOR INTERACTION LENGTH STATISTICS
|
|---|
| 391 | DO 90 J = 1,124
|
|---|
| 392 | IHYCHI(J) = 0
|
|---|
| 393 | IKACHI(J) = 0
|
|---|
| 394 | IMUCHI(J) = 0
|
|---|
| 395 | INUCHI(J) = 0
|
|---|
| 396 | IPICHI(J) = 0
|
|---|
| 397 | INNCHI(J) = 0
|
|---|
| 398 | 90 CONTINUE
|
|---|
| 399 |
|
|---|
| 400 | C RESET ARRAY FOR MEAN VALUES AND STANDARD DEVIATION
|
|---|
| 401 | DO 477 K = 1,25
|
|---|
| 402 | DO 477 J = 1,10
|
|---|
| 403 | MPARTO(J,K) = 0.D0
|
|---|
| 404 | MPART2(J,K) = 0.D0
|
|---|
| 405 | 477 CONTINUE
|
|---|
| 406 |
|
|---|
| 407 | C RESET ARRAYS FOR LONGITUDINAL DISTRIBUTION
|
|---|
| 408 | IF ( LLONGI ) THEN
|
|---|
| 409 | DO 478 K = 1,9
|
|---|
| 410 | DO 4781 J = 0,NSTEP
|
|---|
| 411 | APLONG(J,K) = 0.D0
|
|---|
| 412 | SPLONG(J,K) = 0.D0
|
|---|
| 413 | 4781 CONTINUE
|
|---|
| 414 | 478 CONTINUE
|
|---|
| 415 | ENDIF
|
|---|
| 416 |
|
|---|
| 417 | C STEERING OF PRINTOUT OF RANDOM GENERATOR SEEDS
|
|---|
| 418 | IPROUT = MIN(100,NSHOW/20)
|
|---|
| 419 | IPROUT = MAX(1,IPROUT)
|
|---|
| 420 |
|
|---|
| 421 | C TIME AT BEGINNING
|
|---|
| 422 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 423 | c ILEFTA = TIME()
|
|---|
| 424 | ILEFTA = 0
|
|---|
| 425 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 426 |
|
|---|
| 427 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 428 | print *,'JCIO::========================================'
|
|---|
| 429 | print *,'JCIO:: Initializing JCIO system for advanced'
|
|---|
| 430 | print *,'JCIO:: saving of data.'
|
|---|
| 431 | print *,'JCIO::========================================'
|
|---|
| 432 | c- initialize jcio system
|
|---|
| 433 | call jcinitio(dsn,nrrun)
|
|---|
| 434 | c- create file run######
|
|---|
| 435 | call jcstartrun(runh)
|
|---|
| 436 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 437 |
|
|---|
| 438 | C-----------------------------------------------------------------------
|
|---|
| 439 | C LOOP OVER SHOWERS
|
|---|
| 440 | DO 2 ISHW = 1,NSHOW
|
|---|
| 441 |
|
|---|
| 442 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 443 | c Next block of code has been modified, and comes from INPRM
|
|---|
| 444 | c----------------------------------------------------------------------
|
|---|
| 445 | C SCATTERING OF CENTER OF CHERENKOV ARRAY RELATIVE TO SHOWER AXIS
|
|---|
| 446 | c>> Actually, XSCATT and YSCATT should be RminSCATT and RmaxSCATT
|
|---|
| 447 | ICERML = MIN(MAX(ICERML,1),20)
|
|---|
| 448 | XSCATT = ABS(XSCATT)
|
|---|
| 449 | YSCATT = ABS(YSCATT)
|
|---|
| 450 | WRITE(MONIOU,5225)ICERML,XSCATT,YSCATT
|
|---|
| 451 | 5225 FORMAT(' ** USING EACH SHOWER SEVERAL TIMES:'/
|
|---|
| 452 | + ' USE EACH EVENT ',I2,' TIMES'/
|
|---|
| 453 | + ' THE EVENTS ARE SCATTERED RANDOMLY IN A SECTOR OF RADII:'/
|
|---|
| 454 | + ' Rmin = ',F10.0,' Rmax = ',F10.0)
|
|---|
| 455 | DO 4438 I=1,ICERML
|
|---|
| 456 | 5226 CALL RMMAR( RD,2,3 )
|
|---|
| 457 | CERXOS(I) = 2.0*YSCATT*(RD(1)-0.5)
|
|---|
| 458 | CERYOS(I) = 2.0*YSCATT*(RD(2)-0.5)
|
|---|
| 459 | R=SQRT(CERXOS(I)**2+CERYOS(I)**2)
|
|---|
| 460 | IF ((R.LT.XSCATT).OR.(R.GT.YSCATT)) GOTO 5226
|
|---|
| 461 | WRITE(MONIOU,4437) I,CERXOS(I),CERYOS(I)
|
|---|
| 462 | 4437 FORMAT(' CORE OF EVENT ',I2,' AT ',2F12.2)
|
|---|
| 463 | 4438 CONTINUE
|
|---|
| 464 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 465 |
|
|---|
| 466 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 467 | c Next block of code comes from INPRM
|
|---|
| 468 | c----------------------------------------------------------------------
|
|---|
| 469 | EVTH(98) = FLOAT(ICERML)
|
|---|
| 470 | DO 480 I=1,20
|
|---|
| 471 | EVTH( 98+I) = CERXOS(I)
|
|---|
| 472 | EVTH(118+I) = CERYOS(I)
|
|---|
| 473 | 480 CONTINUE
|
|---|
| 474 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 475 |
|
|---|
| 476 | SHOWNO = SHOWNO + 1
|
|---|
| 477 | I = ISHW
|
|---|
| 478 | IF ( ISHW .LE. MAXPRT ) THEN
|
|---|
| 479 | FPRINT = .TRUE.
|
|---|
| 480 | ELSE
|
|---|
| 481 | FPRINT = .FALSE.
|
|---|
| 482 | ENDIF
|
|---|
| 483 |
|
|---|
| 484 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 485 | c Create cer######,dat######,sta###### files
|
|---|
| 486 | c------------------------------------------------------------
|
|---|
| 487 | call jcnewshower
|
|---|
| 488 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 489 |
|
|---|
| 490 | C RESET COUNTERS
|
|---|
| 491 | DO 447 K = 1,25
|
|---|
| 492 | DO 447 J = 1,10
|
|---|
| 493 | NPARTO(J,K) = 0.D0
|
|---|
| 494 | 447 CONTINUE
|
|---|
| 495 | MUOND = 0.D0
|
|---|
| 496 |
|
|---|
| 497 | C RESET ARRAY FOR LONGITUDINAL DISTRIBUTION PER SHOWER
|
|---|
| 498 | IF ( LLONGI ) THEN
|
|---|
| 499 | DO 479 K = 1,9
|
|---|
| 500 | DO 4791 J = 0,NSTEP
|
|---|
| 501 | PLONG(J,K) = 0.D0
|
|---|
| 502 | 4791 CONTINUE
|
|---|
| 503 | 479 CONTINUE
|
|---|
| 504 | ENDIF
|
|---|
| 505 |
|
|---|
| 506 | NRECS = 0
|
|---|
| 507 | NBLKS = 0
|
|---|
| 508 | DO 922 KKK = 1,10
|
|---|
| 509 | AVNREJ(KKK) = 0.D0
|
|---|
| 510 | 922 CONTINUE
|
|---|
| 511 | IRESPAR = 0
|
|---|
| 512 |
|
|---|
| 513 |
|
|---|
| 514 | C FIRST INTERACTION DATA
|
|---|
| 515 | FIRSTI = .TRUE.
|
|---|
| 516 | IFINET = 0
|
|---|
| 517 | IFINNU = 0
|
|---|
| 518 | IFINKA = 0
|
|---|
| 519 | IFINPI = 0
|
|---|
| 520 | IFINHY = 0
|
|---|
| 521 | ELAST = 0.D0
|
|---|
| 522 |
|
|---|
| 523 | C RESET COUNTERS FOR NUCLEON, PION AND KAON TABLE FOR SHOWER
|
|---|
| 524 | C RESET ENERGY-MULTIPLICITY & ENERGY-ELASTICITY MATRIX FOR SHOWER
|
|---|
| 525 | DO 11 J = 1,37
|
|---|
| 526 | INBIN(J) = 0
|
|---|
| 527 | IPBIN(J) = 0
|
|---|
| 528 | IKBIN(J) = 0
|
|---|
| 529 | IHBIN(J) = 0
|
|---|
| 530 | ELMEAN(J) = 0.D0
|
|---|
| 531 | DO 11 L = 1,13
|
|---|
| 532 | MULTMA(J,L) = 0
|
|---|
| 533 | IELDPM(J,L) = 0
|
|---|
| 534 | 11 CONTINUE
|
|---|
| 535 |
|
|---|
| 536 | DO 12 J = 1,10
|
|---|
| 537 | PBAL(J) = 0.D0
|
|---|
| 538 | EBAL(J) = 0.D0
|
|---|
| 539 | 12 CONTINUE
|
|---|
| 540 |
|
|---|
| 541 | C INITIALIZE PARTICLE STACK
|
|---|
| 542 | CALL ISTACK
|
|---|
| 543 | C RESET STACKINT
|
|---|
| 544 | DO J=1,MAXICOUNT
|
|---|
| 545 | DO K=1,MAXLEN
|
|---|
| 546 | STACKINT(J,K) = 0.D0
|
|---|
| 547 | ENDDO
|
|---|
| 548 | ENDDO
|
|---|
| 549 |
|
|---|
| 550 | C INITIALIZE EVENT HEADER AND END FOR EACH EVENT
|
|---|
| 551 | DO 2123 L = 2,43
|
|---|
| 552 | EVTH(L) = 0.
|
|---|
| 553 | 2123 CONTINUE
|
|---|
| 554 | DO 123 L = 2,MAXBUF
|
|---|
| 555 | EVTE(L) = 0.
|
|---|
| 556 | 123 CONTINUE
|
|---|
| 557 |
|
|---|
| 558 | C SHOWER BEGIN PRINTOUT
|
|---|
| 559 | IF ( FPRINT .OR. DEBUG ) WRITE(MONIOU,105) SHOWNO
|
|---|
| 560 | 105 FORMAT ('1',10('='),' SHOWER NO ',I10,' ',47('=')/)
|
|---|
| 561 |
|
|---|
| 562 | C RANDOM GENERATOR STATUS AT BEGINNING OF SHOWER CALCULATION
|
|---|
| 563 | EVTH(13) = NSEQ
|
|---|
| 564 | DO 45 L = 1,NSEQ
|
|---|
| 565 | CALL RMMAQ( ISEED(1,L), L, 'R' )
|
|---|
| 566 | C SEED
|
|---|
| 567 | EVTH(11+L*3) = ISEED(1,L)
|
|---|
| 568 | C NUMBER OF CALLS
|
|---|
| 569 | EVTH(12+L*3) = MOD ( ISEED(2,L), 1000000 )
|
|---|
| 570 | C NUMBER OF MILLIONS
|
|---|
| 571 | EVTH(13+L*3) = ISEED(3,L)*1000 + INT( ISEED(2,L)/1000000 )
|
|---|
| 572 | 45 CONTINUE
|
|---|
| 573 | IF ( FPRINT .OR. DEBUG .OR. MOD(ISHW-1,IPROUT).EQ.0 ) THEN
|
|---|
| 574 | CALL PRTIME(TTIME)
|
|---|
| 575 | WRITE(MONIOU,158) SHOWNO,(L,(ISEED(J,L),J=1,3),L=1,NSEQ)
|
|---|
| 576 | 158 FORMAT(' AND RANDOM NUMBER GENERATOR AT BEGIN OF EVENT :',I8,
|
|---|
| 577 | * /,(' SEQUENCE = ',I2,' SEED = ',I9 ,' CALLS = ',I9,
|
|---|
| 578 | * ' BILLIONS = ',I9))
|
|---|
| 579 | ENDIF
|
|---|
| 580 | C RESET KNOR
|
|---|
| 581 | KNOR = .TRUE.
|
|---|
| 582 |
|
|---|
| 583 | C GET FULL RANDOM GENERATOR STATUS (103 WORDS PER SEQUENCE)
|
|---|
| 584 | CC DO 495 L = 1,NSEQ
|
|---|
| 585 | CC CALL RMMAQ( ISEED(1,L), L, 'RV' )
|
|---|
| 586 | CC WRITE(MONIOU,658) L,(ISEED(J,L),J=1,103)
|
|---|
| 587 | CC658 FORMAT ( ' FULL RANDOM NUMBER GENERATOR STATUS ',
|
|---|
| 588 | CC * 'FOR SEQUENCE ',I2,/(' ',10I11))
|
|---|
| 589 | CC495 CONTINUE
|
|---|
| 590 |
|
|---|
| 591 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 592 | c>> *** ATENTION *** ATENTION *** ATENTION *** ATENTION *** ATENTION >>
|
|---|
| 593 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 594 | c>> >>
|
|---|
| 595 | c>> In the next block (between this ATENTION comments) CORSIKA makes >>
|
|---|
| 596 | c>> three things, in this order: >>
|
|---|
| 597 | c>> >>
|
|---|
| 598 | c>> i. Set ANGLES OF INCIDENCE (different distributions of theta >>
|
|---|
| 599 | c>> for gammas -flat- and hadrons -standard. >>
|
|---|
| 600 | c>> ii. Set HEIGHT for start at THICK0 (normally = 0 => 112.8 Km) >>
|
|---|
| 601 | c>> iii. Set ENERGY of the primary. >>
|
|---|
| 602 | c>> >>
|
|---|
| 603 | c>> (The original order was ii., iii. and i.) >>
|
|---|
| 604 | c>> >>
|
|---|
| 605 | c>> JCG Wed Sep 21 10:49:14 MET DST 1998 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 606 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 607 |
|
|---|
| 608 |
|
|---|
| 609 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 610 | C GET PRIMARY ANGLES OF INCIDENCE
|
|---|
| 611 | IF ( FIXINC ) THEN
|
|---|
| 612 |
|
|---|
| 613 | THETAP = THETPR(1)
|
|---|
| 614 | PHIP = PHIPR(1)
|
|---|
| 615 | PRMPAR(3) = COS(THETAP)
|
|---|
| 616 |
|
|---|
| 617 | ELSE
|
|---|
| 618 |
|
|---|
| 619 | if ( prmpar(1).eq.1 ) then
|
|---|
| 620 |
|
|---|
| 621 | C>> GAMMAS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 622 | C NOTE!! We will use a FLAT distribution for THETA:
|
|---|
| 623 | C Then, next block (original block) must be commented.
|
|---|
| 624 | c The modificated code follows this block
|
|---|
| 625 | c
|
|---|
| 626 | CALL RMMAR( RD,3,1 )
|
|---|
| 627 | CT1 = THETPR(1)
|
|---|
| 628 | CT2 = THETPR(2)
|
|---|
| 629 | THETAP = RD(2)*(CT2 - CT1) + CT1
|
|---|
| 630 | CTT = COS(THETAP)
|
|---|
| 631 | PRMPAR(3) = CTT
|
|---|
| 632 |
|
|---|
| 633 | else
|
|---|
| 634 |
|
|---|
| 635 | C>> HADRONS AND ELECTRONS (AND ANY OTHER BUT GAMMAS) >>>>>>>>>>>>>>>>
|
|---|
| 636 | c Choose angles at random with equal flux for all directions
|
|---|
| 637 | c with horizontal detector array (see: O.C. Allkofer & P.K.F. Grieder,
|
|---|
| 638 | c Cosmic Rays on Earth, in: Physics Data 25/1, H.Behrens & G.Ebel Ed.,
|
|---|
| 639 | c (Fachinformationszentrum Karlsruhe, Germany, 1983) chpt. 1.1.2)
|
|---|
| 640 | c
|
|---|
| 641 | CALL RMMAR( RD,3,1 )
|
|---|
| 642 | CT1 = SIN(THETPR(1))**2
|
|---|
| 643 | CT2 = SIN(THETPR(2))**2
|
|---|
| 644 | CTT = SQRT( 1.D0 - RD(2)*(CT2 - CT1) - CT1 )
|
|---|
| 645 | PRMPAR(3) = CTT
|
|---|
| 646 | THETAP = ACOS(CTT)
|
|---|
| 647 |
|
|---|
| 648 | endif
|
|---|
| 649 |
|
|---|
| 650 | PHIP = RD(1) * ( PHIPR(2) - PHIPR(1) ) + PHIPR(1)
|
|---|
| 651 |
|
|---|
| 652 | ENDIF
|
|---|
| 653 | PRMPAR(4) = PHIP
|
|---|
| 654 |
|
|---|
| 655 |
|
|---|
| 656 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 657 | C DEFINE HEIGHT FOR START AT THICK0 (IN G/CM**2) (112.8 KM FOR THICK0=0)
|
|---|
| 658 | PRMPAR(5) = HEIGH(THICK0)
|
|---|
| 659 |
|
|---|
| 660 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 661 | C GET PRIMARY ENERGY INTO PRMPAR(2)
|
|---|
| 662 | IF ( ISPEC .EQ. 0 ) THEN
|
|---|
| 663 | PRMPAR(2) = LLIMIT
|
|---|
| 664 | ELSE
|
|---|
| 665 | CALL RMMAR( RD,1,1 )
|
|---|
| 666 | IF ( PSLOPE .NE. -1.D0 ) THEN
|
|---|
| 667 | PRMPAR(2) = ( RD(1)*UL + ( 1.D0-RD(1) )*LL )**SLEX
|
|---|
| 668 | ELSE
|
|---|
| 669 | PRMPAR(2) = LLIMIT * LL**RD(1)
|
|---|
| 670 | ENDIF
|
|---|
| 671 | ENDIF
|
|---|
| 672 |
|
|---|
| 673 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 674 | c>> *** ATENTION *** ATENTION *** ATENTION *** ATENTION *** ATENTION >>
|
|---|
| 675 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 676 |
|
|---|
| 677 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 678 | c>> Modification: this is no longer needed >>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 679 | c>> (Superseeded by Sphere algorithm, see cerenkov.f) >>>>>>>>>>>>>>>>>
|
|---|
| 680 | c>> JCG Wed Sep 21 10:49:14 MET DST 1998 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 681 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 682 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 683 | cc Btw, we now modify the "shadow area" of the telescopes,
|
|---|
| 684 | cc to cover the angle theta.
|
|---|
| 685 | c do 160 i=1,nctels
|
|---|
| 686 | c ctpars(i,ctdiam) = ctdiams(i)/cos(thetap)
|
|---|
| 687 | c write (MONIOU,*)
|
|---|
| 688 | c * 'New region for CT',i,' = ',ctpars(i,ctdiam)
|
|---|
| 689 | c 160 continue
|
|---|
| 690 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 691 |
|
|---|
| 692 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 693 | c Here we calculate the angles spinphi and spinthe, which are the
|
|---|
| 694 | c phi and theta angles of the particle, with respect to the direction
|
|---|
| 695 | c where the CT is pointing to. spinthe is the angular displacement
|
|---|
| 696 | c of the new direction respect to the original (CT); spinphi=0 means
|
|---|
| 697 | c that the new direction is towards the zenith, spinphi=+-180 means
|
|---|
| 698 | c towards the horizont.
|
|---|
| 699 | c See the document "simulation.tex"
|
|---|
| 700 |
|
|---|
| 701 | c First, save the "CT" orientation
|
|---|
| 702 | c (moved from a couple of lines below, marked with [*])
|
|---|
| 703 | EVTH(11) = THETAP
|
|---|
| 704 | EVTH(12) = PHIP
|
|---|
| 705 |
|
|---|
| 706 | CALL RMMAR( RD,3,1 )
|
|---|
| 707 |
|
|---|
| 708 | c Then, calculate the new direction relative to the CT direction
|
|---|
| 709 | spinphi = RD(1)*PI
|
|---|
| 710 | spinthe = RD(2)*spinxi*pi/180
|
|---|
| 711 |
|
|---|
| 712 | c And then, RE-calculate the GLOBAL direction in CORSIKA
|
|---|
| 713 | c We use formulae for spherical triangles
|
|---|
| 714 | theprim = acos( cos(THETAP)*cos(spinthe)+
|
|---|
| 715 | $ sin(THETAP)*sin(spinthe)*cos(spinphi) )
|
|---|
| 716 | phiprim = asin( sin(spinthe)*sin(spinphi)/sin(theprim) )
|
|---|
| 717 | THETAP = theprim
|
|---|
| 718 | EVTH(140) = spinthe
|
|---|
| 719 | if (RD(3).gt.0.5) then
|
|---|
| 720 | PHIP = PHIP - phiprim
|
|---|
| 721 | EVTH(141) = -spinphi
|
|---|
| 722 | else
|
|---|
| 723 | PHIP = PHIP + phiprim
|
|---|
| 724 | EVTH(141) = spinphi
|
|---|
| 725 | endif
|
|---|
| 726 | PRMPAR(3) = COS(THETAP)
|
|---|
| 727 | PRMPAR(4) = PHIP
|
|---|
| 728 |
|
|---|
| 729 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 730 |
|
|---|
| 731 |
|
|---|
| 732 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 733 | c>> Modification (HZA trick) cancelled >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 734 | c>> JCG Wed Sep 21 10:49:14 MET DST 1998 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 735 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 736 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 737 | C Modificacion hecha por Aitor
|
|---|
| 738 | c aitoth = THETAP
|
|---|
| 739 | C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 740 |
|
|---|
| 741 | C CALCULATE COORDINATE CORRECTION FOR TOP OF ATMOSPHERE
|
|---|
| 742 | CALL COORIN( PRMPAR(5) )
|
|---|
| 743 |
|
|---|
| 744 | C COUNTER FOR PARTICLE OUTPUT
|
|---|
| 745 | LH = 0
|
|---|
| 746 | C COUNTER FOR CERENKOV OUTPUT
|
|---|
| 747 | IF ( LCERFI ) LHCER = 0
|
|---|
| 748 | C CALCULATE BUNCH SIZE FOR CERENKOV PHOTONS IF NOT SET IN DATAC
|
|---|
| 749 | IF ( ICRSIZ .EQ. 0 ) THEN
|
|---|
| 750 | CALL GETBUS( NINT(PRMPAR(1)),SNGL(PRMPAR(2)),SNGL(PRMPAR(3)),
|
|---|
| 751 | * CERSIZ )
|
|---|
| 752 | WRITE(MONIOU,*)'CERENKOV BUNCH SIZE IS CALCULATED TO=',CERSIZ
|
|---|
| 753 | ENDIF
|
|---|
| 754 | C GET GAMMA FACTOR FROM ENERGY
|
|---|
| 755 | C FOR GAMMAS PRMPAR(2) STAYS = ENERGY
|
|---|
| 756 | IF ( PRMPAR(1) .NE. 1.D0 )
|
|---|
| 757 | * PRMPAR(2) = PRMPAR(2) / PAMA(NINT(PRMPAR(1)))
|
|---|
| 758 |
|
|---|
| 759 | C SET PRIMARY TO CURRENT PARTICLE
|
|---|
| 760 | DO 3 J = 1,8
|
|---|
| 761 | CURPAR(J) = PRMPAR(J)
|
|---|
| 762 | NCOUN(J) = 0
|
|---|
| 763 | 3 CONTINUE
|
|---|
| 764 | C SET WEIGHT
|
|---|
| 765 |
|
|---|
| 766 | C CALCULATE FIRST INTERACTION POINT IF HADRONIC
|
|---|
| 767 | GEN = 0.D0
|
|---|
| 768 |
|
|---|
| 769 | H = HEIGH(THICK0)
|
|---|
| 770 | CALL BOX2
|
|---|
| 771 | IF ( FIX1I ) THEN
|
|---|
| 772 | CHI = THICK(FIXHEI) / PRMPAR(3)
|
|---|
| 773 | H = FIXHEI
|
|---|
| 774 | FDECAY = .FALSE.
|
|---|
| 775 | ELSE
|
|---|
| 776 | H = HEIGH ( CHI*PRMPAR(3) + THICK0 )
|
|---|
| 777 | ENDIF
|
|---|
| 778 | CHISUM = CHISUM + CHI
|
|---|
| 779 | CHISM2 = CHISM2 + CHI**2
|
|---|
| 780 | ALEVEL = H
|
|---|
| 781 | C INITIALIZE COORDINATE CORRECTIONS FOR HADRONIC PRIMARIES
|
|---|
| 782 | C FOR EM PRIMARIES IT IS DONE IN EGS
|
|---|
| 783 | HH = MAX( H, 0.D0 )
|
|---|
| 784 | IF ( CURPAR(1) .GT. 3.D0 ) CALL COORIN( HH )
|
|---|
| 785 |
|
|---|
| 786 | IF ( FMUADD ) THEN
|
|---|
| 787 | IF ( CURPAR(1) .EQ. 5 .OR. CURPAR(1) .EQ. 6) THEN
|
|---|
| 788 | DO J = 1,MAXLEN
|
|---|
| 789 | AMUPAR(J) = CURPAR(J)
|
|---|
| 790 | ENDDO
|
|---|
| 791 | AMUPAR(5) = PRMPAR(5)
|
|---|
| 792 | IF(DEBUG)WRITE(MDEBUG,*)'MAIN : MUON STORED IN AMUPAR'
|
|---|
| 793 | FMUORG = .TRUE.
|
|---|
| 794 | ENDIF
|
|---|
| 795 | ENDIF
|
|---|
| 796 |
|
|---|
| 797 | C SET TARGET FLAG IF SELECTED FOR FIRST INTERACTION
|
|---|
| 798 | IF ( N1STTR .GT. 0 ) THEN
|
|---|
| 799 | FIXTAR = .TRUE.
|
|---|
| 800 | FDECAY = .FALSE.
|
|---|
| 801 | EVTH(6) = REAL(N1STTR)
|
|---|
| 802 | ELSE
|
|---|
| 803 | FIXTAR = .FALSE.
|
|---|
| 804 | EVTH(6) = 0.0
|
|---|
| 805 | ENDIF
|
|---|
| 806 |
|
|---|
| 807 | C INITIALIZE ARRAYS FOR NKG FOR EACH SHOWER
|
|---|
| 808 | IF ( FNKG ) CALL STANKG
|
|---|
| 809 |
|
|---|
| 810 | C STORE FIRST PARTICLE IN HEADER AND PRINT IT OUT
|
|---|
| 811 | EVTH( 2) = REAL(SHOWNO)
|
|---|
| 812 | EVTH( 3) = CURPAR(1)
|
|---|
| 813 | IF ( CURPAR(1) .EQ. 1.D0 ) THEN
|
|---|
| 814 | C PRIMARY ENERGY FOR PHOTONS
|
|---|
| 815 | E00 = GAMMA
|
|---|
| 816 | E00PN = GAMMA
|
|---|
| 817 | INUCL = 1
|
|---|
| 818 | ELSE
|
|---|
| 819 | E00 = GAMMA * PAMA(NINT(CURPAR(1)))
|
|---|
| 820 | INUCL = INT(MAX(1.D0,CURPAR(1)/100.D0))
|
|---|
| 821 | E00PN = E00 / INUCL
|
|---|
| 822 | ENDIF
|
|---|
| 823 | EVTH(147) = 0.
|
|---|
| 824 |
|
|---|
| 825 | IF ( FEGS ) THEN
|
|---|
| 826 | C PARAMETER FOR ELECTRON AND PHOTON REJECT (CONVERT ENERGY TO MEV)
|
|---|
| 827 | EONCUT = .5E-9*SQRT(E00*1000.D0)
|
|---|
| 828 | CUTLN = LOG(EONCUT)
|
|---|
| 829 | ENDIF
|
|---|
| 830 | EVTH( 4) = E00
|
|---|
| 831 | EVTH( 5) = THICK0
|
|---|
| 832 | EVTH( 7) = H
|
|---|
| 833 | PTOT0 = SQRT( E00**2 - PAMA(NINT(CURPAR(1)))**2 )
|
|---|
| 834 | PTOT0N = PTOT0 / INUCL
|
|---|
| 835 | ST = SQRT(1.D0-COSTHE**2)
|
|---|
| 836 | EVTH( 8) = PTOT0 * ST * COS(PHI)
|
|---|
| 837 | EVTH( 9) = PTOT0 * ST * SIN(PHI)
|
|---|
| 838 | EVTH(10) = PTOT0 * COSTHE
|
|---|
| 839 | c
|
|---|
| 840 | c [*] one block from here sent above
|
|---|
| 841 | c
|
|---|
| 842 | EVTH(85) = CERSIZ
|
|---|
| 843 |
|
|---|
| 844 | IF ( CURPAR(1) .GT. 3.D0 ) THEN
|
|---|
| 845 | IF ( FPRINT .OR. DEBUG ) WRITE(MONIOU,102) (CURPAR(J),J = 1,8)
|
|---|
| 846 | 102 FORMAT (/' PRIMARY PARAMETERS AT FIRST INTERACTION POINT'/
|
|---|
| 847 | * 16X,1P,8E10.3)
|
|---|
| 848 | ELSE
|
|---|
| 849 | IF ( FPRINT .OR. DEBUG ) WRITE(MONIOU,132)
|
|---|
| 850 | 132 FORMAT (/' PRIMARY PARTICLE IS ELECTROMAGNETIC')
|
|---|
| 851 | ENDIF
|
|---|
| 852 |
|
|---|
| 853 | C WRITE EVENT HEADER INTO BUFFER
|
|---|
| 854 | C FOR EM PARTICLES EVTH IS WRITTEN TO BUFFER IN EGS (IF ACTIVE)
|
|---|
| 855 | IF ( EVTH(3) .GT. 3.0 .OR. .NOT. FEGS ) THEN
|
|---|
| 856 | CALL TOBUF ( EVTH,0 )
|
|---|
| 857 | IF ( LCERFI ) CALL TOBUFC( EVTH,0 )
|
|---|
| 858 | ENDIF
|
|---|
| 859 |
|
|---|
| 860 | C PRINT HEADER FOR HIGH ENERGY PARTICLES
|
|---|
| 861 | IF ( FPRINT .OR. DEBUG ) WRITE(MONIOU,103)
|
|---|
| 862 | 103 FORMAT(/' TYPE GAMMA COSTHETA ',
|
|---|
| 863 | * ' PHI HEIGHT TIME X-CM Y-CM ',
|
|---|
| 864 | * ' GEN LEVEL E ON STACK'/)
|
|---|
| 865 | NOPART = 0
|
|---|
| 866 |
|
|---|
| 867 |
|
|---|
| 868 | IF ( CURPAR(1) .LE. 3.D0 .OR.
|
|---|
| 869 | * (CURPAR(1) .GE. 5.D0 .AND. CURPAR(1) .LE. 7.D0) ) THEN
|
|---|
| 870 | C GIVE PARTICLE TO EGS OR NKG IF ELECTROMAGNETIC
|
|---|
| 871 | C AND TAKE THEN NEXT PARTICLE FROM STACK
|
|---|
| 872 | C FLAG FOR NO PRIMARY INTERACTION IS SET FOR ALL BUT ELM. PRIMARIES
|
|---|
| 873 | IF ( CURPAR(1) .LE. 3.D0 ) THEN
|
|---|
| 874 | FNPRIM = .FALSE.
|
|---|
| 875 | ELSE
|
|---|
| 876 | FNPRIM = .TRUE.
|
|---|
| 877 | H = PRMPAR(5)
|
|---|
| 878 | ENDIF
|
|---|
| 879 | CALL BOX3
|
|---|
| 880 | IF ( FEGS ) THEN
|
|---|
| 881 | CHISUM = CHISUM + THICK(DBLE(EVTH(7)))
|
|---|
| 882 | CHISM2 = CHISM2 + THICK(DBLE(EVTH(7)))**2
|
|---|
| 883 | ENDIF
|
|---|
| 884 | FIRSTI = .FALSE.
|
|---|
| 885 | GOTO 4
|
|---|
| 886 |
|
|---|
| 887 | ELSE
|
|---|
| 888 | C HADRONIC PARTICLES
|
|---|
| 889 | FNPRIM = .TRUE.
|
|---|
| 890 |
|
|---|
| 891 | C FILL LONGITUDINAL DISTRIBUTION FOR THE PRIMARY PARTICLE
|
|---|
| 892 | C THE PARTICLE IS TRACKED FROM THICK0 DOWN TO THICK0+CHI*PRMPAR(3)
|
|---|
| 893 | C COUNT THE PARTICLES FOR THE LONGITUDINAL DEVELOPMENT
|
|---|
| 894 | IF ( LLONGI ) THEN
|
|---|
| 895 | LPCT1 = INT( THICK0 * THSTPI )
|
|---|
| 896 | LPCT2 = INT( (THICK0 + PRMPAR(3)*CHI) * THSTPI )
|
|---|
| 897 | LPCT2 = MIN(NSTEP,LPCT2)
|
|---|
| 898 | C GAMMAS, ELECTRONS AND POSITRONS ARE NOT TRANSPORTED HERE, SEE EGS
|
|---|
| 899 | C MUONS ARE TRANSPORTED IN MUTRAC
|
|---|
| 900 | C HADRONS
|
|---|
| 901 | IF ( ITYPE .GE. 7 .AND. ITYPE .LE. 41 ) THEN
|
|---|
| 902 | DO 5004 L = LPCT1,LPCT2
|
|---|
| 903 | PLONG(L,6) = PLONG(L,6) + 1.
|
|---|
| 904 | 5004 CONTINUE
|
|---|
| 905 | C CHARGED HADRONS
|
|---|
| 906 | IF ( SIGNUM(ITYPE) .NE. 0.D0 ) THEN
|
|---|
| 907 | DO 5005 L = LPCT1,LPCT2
|
|---|
| 908 | PLONG(L,7) = PLONG(L,7) + 1.
|
|---|
| 909 | 5005 CONTINUE
|
|---|
| 910 | ENDIF
|
|---|
| 911 | C NUCLEI
|
|---|
| 912 | ELSEIF ( ITYPE .GT. 100 ) THEN
|
|---|
| 913 | DO 5006 L = LPCT1,LPCT2
|
|---|
| 914 | PLONG(L,8) = PLONG(L,8) + 1.
|
|---|
| 915 | 5006 CONTINUE
|
|---|
| 916 | ENDIF
|
|---|
| 917 | ENDIF
|
|---|
| 918 |
|
|---|
| 919 | C CHECK OBSERVATION LEVEL PASSAGE AND UPDATE PARTICLE COORDINATES
|
|---|
| 920 | HNEW = H
|
|---|
| 921 | C FOR UPDATE WE NEED THE START ALTITUDE H
|
|---|
| 922 | H = HEIGH(THICK0)
|
|---|
| 923 | DO 251 J = 1,NOBSLV
|
|---|
| 924 | C JUMP INTO NORMAL PARTICLE TREATMENT FOR HADRONS
|
|---|
| 925 | IF ( HNEW .GT. OBSLEV(J) ) THEN
|
|---|
| 926 | H = HNEW
|
|---|
| 927 | GOTO 6
|
|---|
| 928 | ENDIF
|
|---|
| 929 | IF ( H .LT. OBSLEV(J) ) GOTO 251
|
|---|
| 930 | C REMEMBER NUMBER OF LEVEL FOR OUTPUT
|
|---|
| 931 | LEVL = J
|
|---|
| 932 | CALL UPDATE( OBSLEV(J),THCKOB(J),J )
|
|---|
| 933 | IF (DEBUG) WRITE(MDEBUG,256) J,IRET1,IRET2
|
|---|
| 934 | 256 FORMAT(' MAIN : LEVEL ',I5,' IRET1,2=',2I5)
|
|---|
| 935 | C IF PARTICLE IS NOT CUTTED, BRING IT TO OUTPUT
|
|---|
| 936 | IF ( IRET2 .EQ. 0 ) THEN
|
|---|
| 937 | CALL OUTPUT
|
|---|
| 938 | ENDIF
|
|---|
| 939 | 251 CONTINUE
|
|---|
| 940 | IF (DEBUG) WRITE(MDEBUG,*)
|
|---|
| 941 | * 'MAIN : PRIMARY REACHED LOWEST OBSERVATION LEVEL'
|
|---|
| 942 | GOTO 4
|
|---|
| 943 | ENDIF
|
|---|
| 944 |
|
|---|
| 945 | C-----------------------------------------------------------------------
|
|---|
| 946 | C NORMAL CYCLE
|
|---|
| 947 | 7 CONTINUE
|
|---|
| 948 |
|
|---|
| 949 | C IF ENERGY TOO SMALL TAKE NEXT PARTICLE
|
|---|
| 950 | IF ( GAMMA .LE. 1.D0 ) THEN
|
|---|
| 951 | IF ( CURPAR(1) .NE. 1.D0 ) THEN
|
|---|
| 952 | IF ( CURPAR(1).EQ.5.D0 .OR. CURPAR(1).EQ.6.D0 )
|
|---|
| 953 | * FMUORG = .FALSE.
|
|---|
| 954 | GOTO 4
|
|---|
| 955 | ENDIF
|
|---|
| 956 | C SPECIAL TREATMENT FOR PHOTONS
|
|---|
| 957 | ITYPE = 1
|
|---|
| 958 | CHI = 0.D0
|
|---|
| 959 | GOTO 5
|
|---|
| 960 | ENDIF
|
|---|
| 961 |
|
|---|
| 962 | C DETERMINE PLACE OF NEXT INTERACTION
|
|---|
| 963 | CALL BOX2
|
|---|
| 964 |
|
|---|
| 965 | C CHECK PASSAGE THROUGH OBSERVATION LEVELS AND TRACK PARTICLES TO THE
|
|---|
| 966 | C PLACE OF INTERACTION
|
|---|
| 967 | 5 CONTINUE
|
|---|
| 968 | IRET1 = 0
|
|---|
| 969 | CALL BOX3
|
|---|
| 970 | IF ( IRET1 .NE. 0 ) GOTO 4
|
|---|
| 971 |
|
|---|
| 972 | 6 CONTINUE
|
|---|
| 973 | IRET1 = 0
|
|---|
| 974 | MSMM = 0
|
|---|
| 975 |
|
|---|
| 976 | C INCREMENT PARTICLE GENERATION AND PROCESS NUCLEAR INTERACTION
|
|---|
| 977 | GEN = GEN + 1.D0
|
|---|
| 978 | C INITIALIZE INTERMEDIATE STACK FOR ONE REACTION
|
|---|
| 979 | CALL TSTINI
|
|---|
| 980 | CALL NUCINT
|
|---|
| 981 | C TRANSFER INTERMEDIATE STACK FOR ONE REACTION
|
|---|
| 982 | CALL TSTEND
|
|---|
| 983 |
|
|---|
| 984 | C ENERGY - MULTIPLICITY STATISTICS
|
|---|
| 985 | IF ( EKINL .LE. 0.1D0 ) THEN
|
|---|
| 986 | MEN = 1
|
|---|
| 987 | ELSE
|
|---|
| 988 | MEN = 4.D0 + 3.D0 * LOG10(EKINL)
|
|---|
| 989 | MEN = MIN( MEN, 37 )
|
|---|
| 990 | ENDIF
|
|---|
| 991 | IF ( MSMM .LE. 1 ) THEN
|
|---|
| 992 | MMU = 1
|
|---|
| 993 | ELSE
|
|---|
| 994 | MMU = 1.D0 + 3.D0 * LOG10(DBLE(MSMM))
|
|---|
| 995 | MMU = MIN( MMU, 13 )
|
|---|
| 996 | ENDIF
|
|---|
| 997 | MULTMA(MEN,MMU) = MULTMA(MEN,MMU) + 1
|
|---|
| 998 | MULTOT(MEN,MMU) = MULTOT(MEN,MMU) + 1
|
|---|
| 999 | IF ( DEBUG ) WRITE(MDEBUG,*) 'MAIN : EKINL,MSMM=',
|
|---|
| 1000 | * SNGL(EKINL),MSMM
|
|---|
| 1001 |
|
|---|
| 1002 | IF ( IRET1 .EQ. 0 ) THEN
|
|---|
| 1003 | IF ( DEBUG ) WRITE(MDEBUG,666) (CURPAR(II),II=1,11)
|
|---|
| 1004 | 666 FORMAT(' MAIN : CURPAR=',1P,11E10.3)
|
|---|
| 1005 | GOTO 7
|
|---|
| 1006 | ENDIF
|
|---|
| 1007 |
|
|---|
| 1008 | C GET NEXT PARTICLE FROM STACK, IF IRET=1 ALL PARTICLES ARE DONE
|
|---|
| 1009 | 4 CONTINUE
|
|---|
| 1010 | IRET1 = 0
|
|---|
| 1011 | CALL FSTACK
|
|---|
| 1012 | IF ( FMUADD ) THEN
|
|---|
| 1013 | IF ( (CURPAR(1) .EQ. 5 .OR. CURPAR(1) .EQ. 6)
|
|---|
| 1014 | * .AND. IRET1 .EQ. 0 .AND. .NOT. FMUORG ) THEN
|
|---|
| 1015 | DO J = 1,MAXLEN
|
|---|
| 1016 | AMUPAR(J) = CURPAR(J)
|
|---|
| 1017 | ENDDO
|
|---|
| 1018 | IF(DEBUG)WRITE(MDEBUG,*)'MAIN : MUON STORED IN AMUPAR'
|
|---|
| 1019 | FMUORG = .TRUE.
|
|---|
| 1020 | ENDIF
|
|---|
| 1021 | ENDIF
|
|---|
| 1022 |
|
|---|
| 1023 | IF ( IRET1 .EQ. 0 ) GOTO 7
|
|---|
| 1024 |
|
|---|
| 1025 | C-----------------------------------------------------------------------
|
|---|
| 1026 | C FINISH SHOWER AND PRINT INFORMATION
|
|---|
| 1027 | CALL OUTEND
|
|---|
| 1028 |
|
|---|
| 1029 |
|
|---|
| 1030 | * IF ( DEBUG ) WRITE(MDEBUG,442) NPARTO
|
|---|
| 1031 | *442 FORMAT(' MAIN : NPARTO='/(' ',10F10.0))
|
|---|
| 1032 |
|
|---|
| 1033 | IF ( FPRINT .OR. DEBUG ) THEN
|
|---|
| 1034 | IOBSLV = MIN( 5, NOBSLV )
|
|---|
| 1035 | WRITE(MONIOU,54) (K,K=1,IOBSLV)
|
|---|
| 1036 | 54 FORMAT (/' PARTICLES AT DETECTOR LEVEL :'/
|
|---|
| 1037 | * ' FOR LEVEL ', 5I13)
|
|---|
| 1038 | WRITE(MONIOU,55) (OBSLEV(K),K=1,IOBSLV)
|
|---|
| 1039 | 55 FORMAT ( ' HEIGHT IN CM ',1P, 5E13.3/)
|
|---|
| 1040 | WRITE(MONIOU,776) 'PROTONS ',(NPROTO(K),K=1,IOBSLV)
|
|---|
| 1041 | WRITE(MONIOU,776) 'ANTIPROTONS ',(NPROTB(K),K=1,IOBSLV)
|
|---|
| 1042 | WRITE(MONIOU,776) 'NEUTRONS ',(NNEUTR(K),K=1,IOBSLV)
|
|---|
| 1043 | WRITE(MONIOU,776) 'ANTINEUTRONS ',(NNEUTB(K),K=1,IOBSLV)
|
|---|
| 1044 | WRITE(MONIOU,776) 'PHOTONS ',(NPHOTO(K),K=1,IOBSLV)
|
|---|
| 1045 | WRITE(MONIOU,776) 'ELECTRONS ',(NELECT(K),K=1,IOBSLV)
|
|---|
| 1046 | WRITE(MONIOU,776) 'POSITRONS ',(NPOSIT(K),K=1,IOBSLV)
|
|---|
| 1047 | WRITE(MONIOU,776) 'NEUTRINOS ',(NNU (K),K=1,IOBSLV)
|
|---|
| 1048 | WRITE(MONIOU,776) 'MU - ',(NMUM (K),K=1,IOBSLV)
|
|---|
| 1049 | WRITE(MONIOU,776) 'MU + ',(NMUP (K),K=1,IOBSLV)
|
|---|
| 1050 | WRITE(MONIOU,776) 'PI 0 ',(NPI0 (K),K=1,IOBSLV)
|
|---|
| 1051 | WRITE(MONIOU,776) 'PI - ',(NPIM (K),K=1,IOBSLV)
|
|---|
| 1052 | WRITE(MONIOU,776) 'PI + ',(NPIP (K),K=1,IOBSLV)
|
|---|
| 1053 | WRITE(MONIOU,776) 'K0L ',(NK0L (K),K=1,IOBSLV)
|
|---|
| 1054 | WRITE(MONIOU,776) 'K0S ',(NK0S (K),K=1,IOBSLV)
|
|---|
| 1055 | WRITE(MONIOU,776) 'K - ',(NKMI (K),K=1,IOBSLV)
|
|---|
| 1056 | WRITE(MONIOU,776) 'K + ',(NKPL (K),K=1,IOBSLV)
|
|---|
| 1057 | WRITE(MONIOU,776) 'STR. BARYONS ',(NHYP (K),K=1,IOBSLV)
|
|---|
| 1058 | WRITE(MONIOU,776) 'DEUTERONS ',(NDEUT (K),K=1,IOBSLV)
|
|---|
| 1059 | WRITE(MONIOU,776) 'TRITONS ',(NTRIT (K),K=1,IOBSLV)
|
|---|
| 1060 | WRITE(MONIOU,776) 'ALPHAS ',(NALPHA(K),K=1,IOBSLV)
|
|---|
| 1061 | WRITE(MONIOU,776) 'OTHER PARTIC.',(NOTHER(K),K=1,IOBSLV)
|
|---|
| 1062 | WRITE(MONIOU,*)
|
|---|
| 1063 | WRITE(MONIOU,776) 'DECAYED MUONS',MUOND
|
|---|
| 1064 | 776 FORMAT(' NO OF ',A13, '= ',5F13.0)
|
|---|
| 1065 |
|
|---|
| 1066 | IF ( NOBSLV .GT. 5 ) THEN
|
|---|
| 1067 | IOBSLV = NOBSLV
|
|---|
| 1068 | WRITE(MONIOU,54) (K,K=6,IOBSLV)
|
|---|
| 1069 | WRITE(MONIOU,55) (OBSLEV(K),K=6,IOBSLV)
|
|---|
| 1070 | WRITE(MONIOU,776) 'PROTONS ',(NPROTO(K),K=6,IOBSLV)
|
|---|
| 1071 | WRITE(MONIOU,776) 'ANTIPROTONS ',(NPROTB(K),K=6,IOBSLV)
|
|---|
| 1072 | WRITE(MONIOU,776) 'NEUTRONS ',(NNEUTR(K),K=6,IOBSLV)
|
|---|
| 1073 | WRITE(MONIOU,776) 'ANTINEUTRONS ',(NNEUTB(K),K=6,IOBSLV)
|
|---|
| 1074 | WRITE(MONIOU,776) 'PHOTONS ',(NPHOTO(K),K=6,IOBSLV)
|
|---|
| 1075 | WRITE(MONIOU,776) 'ELECTRONS ',(NELECT(K),K=6,IOBSLV)
|
|---|
| 1076 | WRITE(MONIOU,776) 'POSITRONS ',(NPOSIT(K),K=6,IOBSLV)
|
|---|
| 1077 | WRITE(MONIOU,776) 'NEUTRINOS ',(NNU (K),K=6,IOBSLV)
|
|---|
| 1078 | WRITE(MONIOU,776) 'MU - ',(NMUM (K),K=6,IOBSLV)
|
|---|
| 1079 | WRITE(MONIOU,776) 'MU + ',(NMUP (K),K=6,IOBSLV)
|
|---|
| 1080 | WRITE(MONIOU,776) 'PI 0 ',(NPI0 (K),K=6,IOBSLV)
|
|---|
| 1081 | WRITE(MONIOU,776) 'PI - ',(NPIM (K),K=6,IOBSLV)
|
|---|
| 1082 | WRITE(MONIOU,776) 'PI + ',(NPIP (K),K=6,IOBSLV)
|
|---|
| 1083 | WRITE(MONIOU,776) 'K0L ',(NK0L (K),K=6,IOBSLV)
|
|---|
| 1084 | WRITE(MONIOU,776) 'K0S ',(NK0S (K),K=6,IOBSLV)
|
|---|
| 1085 | WRITE(MONIOU,776) 'K - ',(NKMI (K),K=6,IOBSLV)
|
|---|
| 1086 | WRITE(MONIOU,776) 'K + ',(NKPL (K),K=6,IOBSLV)
|
|---|
| 1087 | WRITE(MONIOU,776) 'STR. BARYONS ',(NHYP (K),K=6,IOBSLV)
|
|---|
| 1088 | WRITE(MONIOU,776) 'DEUTERONS ',(NDEUT (K),K=6,IOBSLV)
|
|---|
| 1089 | WRITE(MONIOU,776) 'TRITONS ',(NTRIT (K),K=6,IOBSLV)
|
|---|
| 1090 | WRITE(MONIOU,776) 'ALPHAS ',(NALPHA(K),K=6,IOBSLV)
|
|---|
| 1091 | WRITE(MONIOU,776) 'OTHER PARTIC.',(NOTHER(K),K=6,IOBSLV)
|
|---|
| 1092 | WRITE(MONIOU,*)
|
|---|
| 1093 | ENDIF
|
|---|
| 1094 | ENDIF
|
|---|
| 1095 |
|
|---|
| 1096 | C ADD UP FOR MEAN VALUES
|
|---|
| 1097 | DO 779 K = 1,25
|
|---|
| 1098 | DO 779 J = 1,10
|
|---|
| 1099 | MPARTO(J,K) = MPARTO(J,K) + NPARTO(J,K)
|
|---|
| 1100 | MPART2(J,K) = MPART2(J,K) + NPARTO(J,K)**2
|
|---|
| 1101 | 779 CONTINUE
|
|---|
| 1102 | EVTE(2) = SHOWNO
|
|---|
| 1103 | DO 335 K = 1,NOBSLV
|
|---|
| 1104 | EVTE(3) = EVTE(3) + NPHOTO(K)
|
|---|
| 1105 | EVTE(4) = EVTE(4) + NELECT(K) + NPOSIT(K)
|
|---|
| 1106 | EVTE(5) = EVTE(5) + NPROTO(K) + NPROTB(K) + NNEUTR(K) +
|
|---|
| 1107 | * NNEUTB(K) + NPI0(K) + NPIM(K) + NPIP(K) + NK0L(K) +
|
|---|
| 1108 | * NK0S(K) + NKMI(K) + NKPL(K) + NHYP(K) +
|
|---|
| 1109 | * NDEUT(K) + NTRIT(K) + NALPHA(K) + NOTHER(K)
|
|---|
| 1110 | EVTE(6) = EVTE(6) + NMUP(K) + NMUM(K)
|
|---|
| 1111 | 335 CONTINUE
|
|---|
| 1112 | EVTE(7) = NOPART
|
|---|
| 1113 |
|
|---|
| 1114 | IF ( FPRINT .OR. DEBUG ) WRITE(MONIOU,110)
|
|---|
| 1115 | * IFINNU,IFINPI,IFINET,IFINKA,IFINHY,
|
|---|
| 1116 | * IFINNU+IFINPI+IFINET+IFINKA+IFINHY,ELAST
|
|---|
| 1117 | 110 FORMAT(/' NO OF NUCLEONS PRODUCED IN FIRST INTERACTION =',I10/
|
|---|
| 1118 | * ' NO OF PIONS PRODUCED IN FIRST INTERACTION =',I10/
|
|---|
| 1119 | * ' NO OF ETAS PRODUCED IN FIRST INTERACTION =',I10/
|
|---|
| 1120 | * ' NO OF KAONS PRODUCED IN FIRST INTERACTION =',I10/
|
|---|
| 1121 | * ' NO OF S.BARYONS PRODUCED IN FIRST INTERACTION =',I10/
|
|---|
| 1122 | * ' TOTAL MULTIPLICITY OF FIRST INTERACTION =',I10/
|
|---|
| 1123 | * ' ELASTICITY OF FIRST INTERACTION =',F10.4)
|
|---|
| 1124 |
|
|---|
| 1125 | C PRINT OUT NKG RESULT FOR ONE SHOWER IF SELECTED
|
|---|
| 1126 | IF ( FNKG ) CALL AVAGE
|
|---|
| 1127 |
|
|---|
| 1128 | IF ( LLONGI ) THEN
|
|---|
| 1129 | C TREAT LONGITUDINAL DISTRIBUTIONS
|
|---|
| 1130 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1131 | c calculated here again, 'cos it's rewrite I dont know where
|
|---|
| 1132 | LPCT1 = INT( THICK0 * THSTPI )
|
|---|
| 1133 | LPCT2 = INT( (THICK0 + PRMPAR(3)*CHI) * THSTPI )
|
|---|
| 1134 | LPCT2 = MIN(NSTEP,LPCT2)
|
|---|
| 1135 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1136 | DO 980 J = LPCT1,NSTEP
|
|---|
| 1137 | C ADD ELECTRONS, POSITRONS, MUONS AND NUCLEI TO THE CHARGED PARTICLES
|
|---|
| 1138 | PLONG(J,7) = PLONG(J,7) + PLONG(J,2) + PLONG(J,3)
|
|---|
| 1139 | * + PLONG(J,4) + PLONG(J,5) + PLONG(J,8)
|
|---|
| 1140 | C ADD UP FOR MEAN VALUES OF LONGITUDINAL DISTRIBUTION
|
|---|
| 1141 | DO 979 K = 1,9
|
|---|
| 1142 | APLONG(J,K) = APLONG(J,K) + PLONG(J,K)
|
|---|
| 1143 | SPLONG(J,K) = SPLONG(J,K) + PLONG(J,K)**2
|
|---|
| 1144 | 979 CONTINUE
|
|---|
| 1145 | 980 CONTINUE
|
|---|
| 1146 |
|
|---|
| 1147 | C PRINT LONGITUDINAL DISTRIBUTIONS PER SHOWER
|
|---|
| 1148 | IF ( FPRINT .OR. DEBUG ) WRITE(MONIOU,910) THSTEP,
|
|---|
| 1149 | * 'GAMMAS','POSITRONS','ELECTRONS','MU-','MU+','HADRONS',
|
|---|
| 1150 | * 'CHARGED','NUCLEI','CERENKOV',
|
|---|
| 1151 | * (J*THSTEP,(PLONG(J,K),K=1,9),J=LPCT1,NSTEP)
|
|---|
| 1152 | 910 FORMAT(/' ---------- LONGITUDINAL DISTRIBUTION IN STEPS OF ',
|
|---|
| 1153 | * F5.0,' G/CM**2 ----------------'/
|
|---|
| 1154 | * ' DEPTH ',3A12,3A11,A12,A11,A12/
|
|---|
| 1155 | * (' ',F6.0,F13.0,2F12.0,3F11.0,F12.0,F11.0,1P,E12.5,0P) )
|
|---|
| 1156 | CJOK ADAPTED FOR HEAT CALCULATION
|
|---|
| 1157 | C910 FORMAT(/
|
|---|
| 1158 | C * ' LONGITUDINAL DISTRIBUTION IN STEPS OF ',F5.0,' G/CM**2'
|
|---|
| 1159 | C * /' ',92('=')/' DEPTH',8A10,A12/1P
|
|---|
| 1160 | C * (' ',0P,F6.0,1P,9E11.4))
|
|---|
| 1161 | CJOK
|
|---|
| 1162 |
|
|---|
| 1163 | IF ( FLGFIT ) THEN
|
|---|
| 1164 | C PERFORM FIT TO THE LONGITUDINAL DISTRIBUTION OF ALL CHARGED PARTICLES
|
|---|
| 1165 | C IF EGS IS SELECTED THIS IS THE DISTRIBUTION WHICH IS TO BE TAKEN
|
|---|
| 1166 | IF ( FEGS ) THEN
|
|---|
| 1167 | DO 930 J=0,NSTEP-LPCT1
|
|---|
| 1168 | DEP(J+1) = (J+LPCT1)*THSTEP
|
|---|
| 1169 | CHAPAR(J+1) = PLONG(J+LPCT1,7)
|
|---|
| 1170 | 930 CONTINUE
|
|---|
| 1171 | NSTP = NSTEP + 1 - LPCT1
|
|---|
| 1172 | WRITE(MONIOU,8229) 'ALL CHARGED PARTICLES'
|
|---|
| 1173 | 8229 FORMAT(/' FIT OF THE CURVE ',
|
|---|
| 1174 | * ' N(T) = P1*((T-P2)/(P3-P2))**((P3-T)/(P4+P5*T+P6*T**2))'/
|
|---|
| 1175 | * ' TO LONGITUDINAL DISTRIBUTION OF ',A35)
|
|---|
| 1176 | C IF NKG IS SELECTED ONLY THE ELECTRON DISTRIBUTION IS AVAILABLE
|
|---|
| 1177 | ELSEIF ( FNKG ) THEN
|
|---|
| 1178 | DEP(1) = 0.D0
|
|---|
| 1179 | CHAPAR(1) = 0.D0
|
|---|
| 1180 | DO 931 J = 1,IALT(1)
|
|---|
| 1181 | DEP(J+1) = TLEV(J)
|
|---|
| 1182 | CHAPAR(J+1) = SL(J)
|
|---|
| 1183 | 931 CONTINUE
|
|---|
| 1184 | NSTP = IALT(1) + 1
|
|---|
| 1185 | WRITE(MONIOU,8229) 'NKG ELECTRONS'
|
|---|
| 1186 | C IF NONE IS SELECTED IT DOES NOT REALLY MAKE SENSE TO FIT
|
|---|
| 1187 | C BUT LET'S TAKE THEN ALL CHARGED WHICH ARE MUONS AND HADRONS
|
|---|
| 1188 | ELSE
|
|---|
| 1189 | DO 932 J=0,NSTEP-LPCT1
|
|---|
| 1190 | DEP(J+1) = (J+LPCT1)*THSTEP
|
|---|
| 1191 | CHAPAR(J+1) = PLONG(J+LPCT1,7)
|
|---|
| 1192 | 932 CONTINUE
|
|---|
| 1193 | NSTP = NSTEP + 1 - LPCT1
|
|---|
| 1194 | WRITE(MONIOU,8229) 'MUONS AND CHARGED HADRONS'
|
|---|
| 1195 | ENDIF
|
|---|
| 1196 | IF ( NSTP .GT. 6 ) THEN
|
|---|
| 1197 | C THERE ARE MORE THAN 6 STEP VALUES, A FIT SHOULD BE POSSIBLE.
|
|---|
| 1198 | C DO THE FIT: NPAR AND FPARAM GIVE THE NUMBER OF PARAMETERS USED
|
|---|
| 1199 | C AND THE FINAL VALUES FOR THE PARAMETERS. CHISQ GIVES THE CHI**2/DOF
|
|---|
| 1200 | C FOR THE FIT.
|
|---|
| 1201 | CALL LONGFT(FPARAM,CHI2)
|
|---|
| 1202 | WRITE(MONIOU,8230) FPARAM,CHI2,CHI2/SQRT(FPARAM(1))*100.D0
|
|---|
| 1203 | 8230 FORMAT(' PARAMETERS = ',1P,6E12.4,0P/
|
|---|
| 1204 | * ' CHI**2/DOF = ',F10.1/
|
|---|
| 1205 | * ' AV. DEVIATION IN % = ',F10.4)
|
|---|
| 1206 | C STORE RESULT IN END EVENT BLOCK
|
|---|
| 1207 | DO 933 K = 1,6
|
|---|
| 1208 | EVTE(255+K) = FPARAM(K)
|
|---|
| 1209 | 933 CONTINUE
|
|---|
| 1210 | EVTE(262) = CHI2
|
|---|
| 1211 | ELSE
|
|---|
| 1212 | WRITE(MONIOU,*) 'NO LONGI. FIT POSSIBLE, ',
|
|---|
| 1213 | * ' NSTP = ',NSTP,' TOO SMALL.'
|
|---|
| 1214 | DO 934 K = 1,6
|
|---|
| 1215 | EVTE(255+K) = 0.
|
|---|
| 1216 | 934 CONTINUE
|
|---|
| 1217 | EVTE(262) = 0.
|
|---|
| 1218 | ENDIF
|
|---|
| 1219 | ENDIF
|
|---|
| 1220 | ENDIF
|
|---|
| 1221 |
|
|---|
| 1222 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1223 | c Saves statistics to sta###### file
|
|---|
| 1224 | call jcstadata(EVTH,EVTE,
|
|---|
| 1225 | + NPROTO,NPROTB,NNEUTR,NNEUTB,NPHOTO,NELECT,NPOSIT,
|
|---|
| 1226 | + NNU ,NMUM ,NMUP ,NPI0 ,NPIM ,NPIP ,NK0L ,
|
|---|
| 1227 | + NK0S ,NKMI ,NKPL ,NHYP ,NDEUT ,NTRIT ,NALPHA,
|
|---|
| 1228 | + NOTHER,IFINNU,IFINPI,IFINET,IFINKA,IFINHY,
|
|---|
| 1229 | + CERELE,CERHAD,PLONG,LPCT1,NSTEP,THSTEP)
|
|---|
| 1230 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1231 |
|
|---|
| 1232 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1233 | C WRITE SHOWER END TO OUTPUT BUFFER
|
|---|
| 1234 | c CALL TOBUF( EVTE,0 )
|
|---|
| 1235 | CALL TOBUF( EVTE,1 )
|
|---|
| 1236 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1237 | IF ( LCERFI ) THEN
|
|---|
| 1238 | CALL OUTND2
|
|---|
| 1239 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1240 | c CALL TOBUFC( EVTE,0 )
|
|---|
| 1241 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1242 | ENDIF
|
|---|
| 1243 |
|
|---|
| 1244 | IF ( FPRINT .OR. DEBUG ) WRITE(MONIOU,*)
|
|---|
| 1245 | * 'CERENKOV PH. FROM ELECTRONS = ',SNGL(CERELE),
|
|---|
| 1246 | * ' CERENKOV PH. FROM HADRONS = ',SNGL(CERHAD)
|
|---|
| 1247 | CERELE = 0.D0
|
|---|
| 1248 | CERHAD = 0.D0
|
|---|
| 1249 | NRECER = 0
|
|---|
| 1250 |
|
|---|
| 1251 | IF ( FPRINT .OR. DEBUG ) WRITE(MONIOU,210) SHOWNO
|
|---|
| 1252 | 210 FORMAT(/' END OF SHOWER NO ',I10)
|
|---|
| 1253 |
|
|---|
| 1254 | DO 19 J = 1,37
|
|---|
| 1255 | JNBIN(J) = JNBIN(J) + INBIN(J)
|
|---|
| 1256 | JPBIN(J) = JPBIN(J) + IPBIN(J)
|
|---|
| 1257 | JKBIN(J) = JKBIN(J) + IKBIN(J)
|
|---|
| 1258 | JHBIN(J) = JHBIN(J) + IHBIN(J)
|
|---|
| 1259 | 19 CONTINUE
|
|---|
| 1260 |
|
|---|
| 1261 | 2 CONTINUE
|
|---|
| 1262 | C END OF SHOWER LOOP
|
|---|
| 1263 |
|
|---|
| 1264 | C-----------------------------------------------------------------------
|
|---|
| 1265 | 992 CONTINUE
|
|---|
| 1266 |
|
|---|
| 1267 | C RESET NUMBER OF SHOWERS TO CORRECT VALUE
|
|---|
| 1268 | ISHW = I
|
|---|
| 1269 |
|
|---|
| 1270 | RUNE(3) = REAL(ISHW)
|
|---|
| 1271 | C WRITE RUN END TO OUTPUT BUFFER AND FINISH OUTPUT
|
|---|
| 1272 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1273 | c CALL TOBUF ( RUNE,1 )
|
|---|
| 1274 | call jcendrun(rune)
|
|---|
| 1275 | c IF ( LCERFI ) CALL TOBUFC( RUNE,1 )
|
|---|
| 1276 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1277 | C TIME SINCE BEGINNING
|
|---|
| 1278 | c ILEFTB = TIME()
|
|---|
| 1279 | ILEFTB = 1
|
|---|
| 1280 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1281 | TDIFF = ILEFTB - ILEFTA
|
|---|
| 1282 |
|
|---|
| 1283 | C MEAN VALUE FOR FIRST INTERACTION ALTITUDE (G/CM**2)
|
|---|
| 1284 | IF ( ISHW .GT. 1 ) THEN
|
|---|
| 1285 | CHISM2 = SQRT( ABS(CHISM2-CHISUM**2/ISHW) / (ISHW-1) )
|
|---|
| 1286 | CHISUM = CHISUM / ISHW
|
|---|
| 1287 | ELSE
|
|---|
| 1288 | CHISM2 = 0.D0
|
|---|
| 1289 | ENDIF
|
|---|
| 1290 |
|
|---|
| 1291 | C OUTPUTS FOR ALL SHOWERS
|
|---|
| 1292 | WRITE(MONIOU,201) ISHW,TDIFF,TDIFF/ISHW,IRECOR,IRECOR/ISHW,
|
|---|
| 1293 | * CHISUM,CHISM2
|
|---|
| 1294 | 201 FORMAT('1',10('='),' RUN SUMMARY ',56('=')//
|
|---|
| 1295 | * ' NUMBER OF GENERATED EVENTS = ',I10,/
|
|---|
| 1296 | * ' TOTAL TIME USED = ',E10.3,' SEC'/
|
|---|
| 1297 | * ' TIME PER EVENT = ',E10.3,' SEC'/
|
|---|
| 1298 | * ' TOTAL SPACE ON PATAPE USED = ',I10,' WORDS'/
|
|---|
| 1299 | * ' SPACE PER EVENT ON PATAPE = ',I10,' WORDS'/
|
|---|
| 1300 | * ' AVERAGE HEIGHT OF 1ST INT. = ',F10.3,' +-',F10.3,' G/CM**2'/)
|
|---|
| 1301 |
|
|---|
| 1302 | C ENERGY - MULTIPLICITY MATRIX FOR ALL SHOWERS
|
|---|
| 1303 | WRITE(MONIOU,209) (K,K=1,13),
|
|---|
| 1304 | * (J,(MULTOT(J,K),K=1,13),10**((J-4.)/3.),10**((J-3.)/3.),J=1,37),
|
|---|
| 1305 | * 1,(INT(10**((K-1.)/3.)+1),K = 2,13),
|
|---|
| 1306 | * 2,(INT(10**((K )/3.) ),K = 2,13)
|
|---|
| 1307 | 209 FORMAT(//' ENERGY - MULTIPLICITY MATRIX FOR ALL SHOWERS'/
|
|---|
| 1308 | * ' ENERGY RUNS VERTICALLY, MULTIPLICITY HORIZONTALLY'//,
|
|---|
| 1309 | * ' ',6X,5I9,3I8,5I7' ENERGY RANGE (GEV)'/
|
|---|
| 1310 | * 37(/' ',I4,1X,I10,4I9,3I8,5I7,1X,1P,2E10.1,0P)//
|
|---|
| 1311 | * ' MULT. ',5I9,3I8,5I7,4X,'LOWER BIN LIMIT'/
|
|---|
| 1312 | * ' RANGE ',5I9,3I8,5I7,4X,'UPPER BIN LIMIT')
|
|---|
| 1313 |
|
|---|
| 1314 | C GET MEAN OF ELASTICITY FOR ENERGY BINS
|
|---|
| 1315 | DO 3377 J = 1,37
|
|---|
| 1316 | NELMEA = 0
|
|---|
| 1317 | DO 3378 K = 1,10
|
|---|
| 1318 | NELMEA = NELMEA + IELDPA(J,K)
|
|---|
| 1319 | 3378 CONTINUE
|
|---|
| 1320 | IF ( NELMEA .NE. 0 ) ELMEAA(J) = ELMEAA(J) / NELMEA
|
|---|
| 1321 | 3377 CONTINUE
|
|---|
| 1322 |
|
|---|
| 1323 | C PRINT ENERGY - ELASTICITY MATRIX FOR ALL SHOWERS
|
|---|
| 1324 | WRITE(MONIOU,408) (K,K=1,10), (J,(IELDPA(J,K),K=1,10),
|
|---|
| 1325 | * ELMEAA(J),10**((J-4.D0)/3.D0),10**((J-3.)/3.D0),J=1,37),
|
|---|
| 1326 | * ((K-1)*0.1D0,K=1,10),(K*0.1D0,K=1,10)
|
|---|
| 1327 | 408 FORMAT (//' ENERGY - ELASTICITY MATRIX FOR ALL SHOWERS'/
|
|---|
| 1328 | * ' ENERGY RUNS VERTICALLY, ELASTICITY HORIZONTALLY'//
|
|---|
| 1329 | * ' ',5X,10I9,' MEAN EL. ENERGY RANGE (GEV)'/
|
|---|
| 1330 | * 37(/' ',I4,1X,10I9,2X,1P,E10.3,2E10.1,0P)//
|
|---|
| 1331 | * ' ELA. ',10F9.2,5X,'LOWER BIN LIMIT'/
|
|---|
| 1332 | * ' RANGE',10F9.2,5X,'UPPER BIN LIMIT')
|
|---|
| 1333 |
|
|---|
| 1334 | WRITE(MONIOU,204)
|
|---|
| 1335 | 204 FORMAT (//' INTERACTIONS PER KINETIC ENERGY INTERVAL FOR ALL ',
|
|---|
| 1336 | * 'SHOWERS'//' BIN LOWER LIMIT UPPER LIMIT ',
|
|---|
| 1337 | * 'NUCLEON PIONS KAONS S.BARYONS TOTAL'/
|
|---|
| 1338 | * 12X,'IN GEV',9X,'IN GEV',7X,
|
|---|
| 1339 | * ' EVENTS EVENTS EVENTS EVENTS '//)
|
|---|
| 1340 | WRITE(MONIOU,207) (I,SABIN(I),SBBIN(I),JNBIN(I),JPBIN(I),JKBIN(I)
|
|---|
| 1341 | * ,JHBIN(I),JNBIN(I)+JPBIN(I)+JKBIN(I)+JHBIN(I),I=1,37)
|
|---|
| 1342 | 207 FORMAT(' ',I5,1P,2E15.4,0P,I12,3I10,I11)
|
|---|
| 1343 |
|
|---|
| 1344 | IF ( .NOT.GHEISH ) THEN
|
|---|
| 1345 | C PRINT ELASTICITY STATISTICS
|
|---|
| 1346 | WRITE(MONIOU,89) (I,(I-1)*.05,I*.05,
|
|---|
| 1347 | * IELIS(I),IELHM(I),IELNU(I),IELPI(I),I = 1,20)
|
|---|
| 1348 | 89 FORMAT (//' ELASTICITY STATISTICS '//
|
|---|
| 1349 | * ' BIN LOW HIGH EDGE FOR ISOBARS HEAVY MESONS',
|
|---|
| 1350 | * ' SINGLE NUCLEONS AND PIONS'/
|
|---|
| 1351 | * (' ',I3,' ',F4.2,' ',F4.2,' ',4I17))
|
|---|
| 1352 | ENDIF
|
|---|
| 1353 |
|
|---|
| 1354 | C CALCULATE MEAN VALUES AND STANDARD DEVIATIONS OF PARTICLE NUMBERS
|
|---|
| 1355 | IF ( ISHW .GT. 1 ) THEN
|
|---|
| 1356 | DO 879 K = 1,25
|
|---|
| 1357 | DO 879 J = 1,NOBSLV
|
|---|
| 1358 | MPART2(J,K) = SQRT( abs(MPART2(J,K)-MPARTO(J,K)**2/ISHW)
|
|---|
| 1359 | * /(ISHW-1) )
|
|---|
| 1360 | MPARTO(J,K) = MPARTO(J,K)/ISHW
|
|---|
| 1361 | 879 CONTINUE
|
|---|
| 1362 | ELSE
|
|---|
| 1363 | DO 880 K = 1,25
|
|---|
| 1364 | DO 880 J = 1,NOBSLV
|
|---|
| 1365 | MPART2(J,K) = 0.D0
|
|---|
| 1366 | 880 CONTINUE
|
|---|
| 1367 | ENDIF
|
|---|
| 1368 |
|
|---|
| 1369 | C PRINT MEAN VALUES AND STANDARD DEVIATIONS OF PARTICLE NUMBERS
|
|---|
| 1370 | IOBSLV = MIN( 3, NOBSLV )
|
|---|
| 1371 | WRITE(MONIOU,854) (K,K=1,IOBSLV)
|
|---|
| 1372 | 854 FORMAT (/ ' AVERAGE NUMBER OF PARTICLES PER EVENT :'/
|
|---|
| 1373 | * ' FROM LEVEL NUMBER ', 3(10X,I10,10X) )
|
|---|
| 1374 | WRITE(MONIOU,855) (OBSLEV(K),K=1,IOBSLV)
|
|---|
| 1375 | 855 FORMAT ( ' HEIGHT IN CM',1P,3(20X,E10.3)/)
|
|---|
| 1376 |
|
|---|
| 1377 | WRITE(MONIOU,778)'PROTONS ',(MPROTO(K),MPROT2(K),K=1,IOBSLV)
|
|---|
| 1378 | WRITE(MONIOU,778)'ANTIPROTONS ',(MPROTB(K),MPRTB2(K),K=1,IOBSLV)
|
|---|
| 1379 | WRITE(MONIOU,778)'NEUTRONS ',(MNEUTR(K),MNETR2(K),K=1,IOBSLV)
|
|---|
| 1380 | WRITE(MONIOU,778)'ANTINEUTRONS',(MNEUTB(K),MNETB2(K),K=1,IOBSLV)
|
|---|
| 1381 | WRITE(MONIOU,778)'PHOTONS ',(MPHOTO(K),MPHOT2(K),K=1,IOBSLV)
|
|---|
| 1382 | WRITE(MONIOU,778)'ELECTRONS ',(MELECT(K),MELEC2(K),K=1,IOBSLV)
|
|---|
| 1383 | WRITE(MONIOU,778)'POSITRONS ',(MPOSIT(K),MPOSI2(K),K=1,IOBSLV)
|
|---|
| 1384 | WRITE(MONIOU,778)'NEUTRINOS ',(MNU (K),MNU2 (K),K=1,IOBSLV)
|
|---|
| 1385 | WRITE(MONIOU,778)'MU - ',(MMUM (K),MMUM2 (K),K=1,IOBSLV)
|
|---|
| 1386 | WRITE(MONIOU,778)'MU + ',(MMUP (K),MMUP2 (K),K=1,IOBSLV)
|
|---|
| 1387 | WRITE(MONIOU,778)'PI 0 ',(MPI0 (K),MPI02 (K),K=1,IOBSLV)
|
|---|
| 1388 | WRITE(MONIOU,778)'PI - ',(MPIM (K),MPIM2 (K),K=1,IOBSLV)
|
|---|
| 1389 | WRITE(MONIOU,778)'PI + ',(MPIP (K),MPIP2 (K),K=1,IOBSLV)
|
|---|
| 1390 | WRITE(MONIOU,778)'K0L ',(MK0L (K),MK0L2 (K),K=1,IOBSLV)
|
|---|
| 1391 | WRITE(MONIOU,778)'K0S ',(MK0S (K),MK0S2 (K),K=1,IOBSLV)
|
|---|
| 1392 | WRITE(MONIOU,778)'K - ',(MKMI (K),MKMI2 (K),K=1,IOBSLV)
|
|---|
| 1393 | WRITE(MONIOU,778)'K + ',(MKPL (K),MKPL2 (K),K=1,IOBSLV)
|
|---|
| 1394 | WRITE(MONIOU,778)'STR. BARYONS',(MHYP (K),MHYP2 (K),K=1,IOBSLV)
|
|---|
| 1395 | WRITE(MONIOU,778)'DEUTERONS ',(MDEUT (K),MDEUT2(K),K=1,IOBSLV)
|
|---|
| 1396 | WRITE(MONIOU,778)'TRITONS ',(MTRIT (K),MTRIT2(K),K=1,IOBSLV)
|
|---|
| 1397 | WRITE(MONIOU,778)'ALPHAS ',(MALPHA(K),MALPH2(K),K=1,IOBSLV)
|
|---|
| 1398 | WRITE(MONIOU,778)'OTHER PART. ',(MOTHER(K),MOTH2 (K),K=1,IOBSLV)
|
|---|
| 1399 | WRITE(MONIOU,*)
|
|---|
| 1400 | 778 FORMAT(' NO OF ',A12,' = ',3(F13.1,' +-',F13.1,' '))
|
|---|
| 1401 |
|
|---|
| 1402 | IF ( NOBSLV .GT. 3 ) THEN
|
|---|
| 1403 | IOBSLV = MIN( 6, NOBSLV )
|
|---|
| 1404 | WRITE(MONIOU,854) (K,K=4,IOBSLV)
|
|---|
| 1405 | WRITE(MONIOU,855) (OBSLEV(K),K=4,IOBSLV)
|
|---|
| 1406 | WRITE(MONIOU,778)'PROTONS ',(MPROTO(K),MPROT2(K),K=4,IOBSLV)
|
|---|
| 1407 | WRITE(MONIOU,778)'ANTIPROTONS ',(MPROTB(K),MPRTB2(K),K=4,IOBSLV)
|
|---|
| 1408 | WRITE(MONIOU,778)'NEUTRONS ',(MNEUTR(K),MNETR2(K),K=4,IOBSLV)
|
|---|
| 1409 | WRITE(MONIOU,778)'ANTINEUTRONS',(MNEUTB(K),MNETB2(K),K=4,IOBSLV)
|
|---|
| 1410 | WRITE(MONIOU,778)'PHOTONS ',(MPHOTO(K),MPHOT2(K),K=4,IOBSLV)
|
|---|
| 1411 | WRITE(MONIOU,778)'ELECTRONS ',(MELECT(K),MELEC2(K),K=4,IOBSLV)
|
|---|
| 1412 | WRITE(MONIOU,778)'POSITRONS ',(MPOSIT(K),MPOSI2(K),K=4,IOBSLV)
|
|---|
| 1413 | WRITE(MONIOU,778)'NEUTRINOS ',(MNU (K),MNU2 (K),K=4,IOBSLV)
|
|---|
| 1414 | WRITE(MONIOU,778)'MU - ',(MMUM (K),MMUM2 (K),K=4,IOBSLV)
|
|---|
| 1415 | WRITE(MONIOU,778)'MU + ',(MMUP (K),MMUP2 (K),K=4,IOBSLV)
|
|---|
| 1416 | WRITE(MONIOU,778)'PI 0 ',(MPI0 (K),MPI02 (K),K=4,IOBSLV)
|
|---|
| 1417 | WRITE(MONIOU,778)'PI - ',(MPIM (K),MPIM2 (K),K=4,IOBSLV)
|
|---|
| 1418 | WRITE(MONIOU,778)'PI + ',(MPIP (K),MPIP2 (K),K=4,IOBSLV)
|
|---|
| 1419 | WRITE(MONIOU,778)'K0L ',(MK0L (K),MK0L2 (K),K=4,IOBSLV)
|
|---|
| 1420 | WRITE(MONIOU,778)'K0S ',(MK0S (K),MK0S2 (K),K=4,IOBSLV)
|
|---|
| 1421 | WRITE(MONIOU,778)'K - ',(MKMI (K),MKMI2 (K),K=4,IOBSLV)
|
|---|
| 1422 | WRITE(MONIOU,778)'K + ',(MKPL (K),MKPL2 (K),K=4,IOBSLV)
|
|---|
| 1423 | WRITE(MONIOU,778)'STR. BARYONS',(MHYP (K),MHYP2 (K),K=4,IOBSLV)
|
|---|
| 1424 | WRITE(MONIOU,778)'DEUTERONS ',(MDEUT (K),MDEUT2(K),K=4,IOBSLV)
|
|---|
| 1425 | WRITE(MONIOU,778)'TRITONS ',(MTRIT (K),MTRIT2(K),K=4,IOBSLV)
|
|---|
| 1426 | WRITE(MONIOU,778)'ALPHAS ',(MALPHA(K),MALPH2(K),K=4,IOBSLV)
|
|---|
| 1427 | WRITE(MONIOU,778)'OTHER PART. ',(MOTHER(K),MOTH2 (K),K=4,IOBSLV)
|
|---|
| 1428 | WRITE(MONIOU,*)
|
|---|
| 1429 |
|
|---|
| 1430 | IF ( NOBSLV .GT. 6 ) THEN
|
|---|
| 1431 | IOBSLV = MIN( 9, NOBSLV )
|
|---|
| 1432 | WRITE(MONIOU,854) (K,K=7,IOBSLV)
|
|---|
| 1433 | WRITE(MONIOU,855) (OBSLEV(K),K=7,IOBSLV)
|
|---|
| 1434 | WRITE(MONIOU,778)'PROTONS ',(MPROTO(K),MPROT2(K),K=7,IOBSLV)
|
|---|
| 1435 | WRITE(MONIOU,778)'ANTIPROTONS ',(MPROTB(K),MPRTB2(K),K=7,IOBSLV)
|
|---|
| 1436 | WRITE(MONIOU,778)'NEUTRONS ',(MNEUTR(K),MNETR2(K),K=7,IOBSLV)
|
|---|
| 1437 | WRITE(MONIOU,778)'ANTINEUTRONS',(MNEUTB(K),MNETB2(K),K=7,IOBSLV)
|
|---|
| 1438 | WRITE(MONIOU,778)'PHOTONS ',(MPHOTO(K),MPHOT2(K),K=7,IOBSLV)
|
|---|
| 1439 | WRITE(MONIOU,778)'ELECTRONS ',(MELECT(K),MELEC2(K),K=7,IOBSLV)
|
|---|
| 1440 | WRITE(MONIOU,778)'POSITRONS ',(MPOSIT(K),MPOSI2(K),K=7,IOBSLV)
|
|---|
| 1441 | WRITE(MONIOU,778)'NEUTRINOS ',(MNU (K),MNU2 (K),K=7,IOBSLV)
|
|---|
| 1442 | WRITE(MONIOU,778)'MU - ',(MMUM (K),MMUM2 (K),K=7,IOBSLV)
|
|---|
| 1443 | WRITE(MONIOU,778)'MU + ',(MMUP (K),MMUP2 (K),K=7,IOBSLV)
|
|---|
| 1444 | WRITE(MONIOU,778)'PI 0 ',(MPI0 (K),MPI02 (K),K=7,IOBSLV)
|
|---|
| 1445 | WRITE(MONIOU,778)'PI - ',(MPIM (K),MPIM2 (K),K=7,IOBSLV)
|
|---|
| 1446 | WRITE(MONIOU,778)'PI + ',(MPIP (K),MPIP2 (K),K=7,IOBSLV)
|
|---|
| 1447 | WRITE(MONIOU,778)'K0L ',(MK0L (K),MK0L2 (K),K=7,IOBSLV)
|
|---|
| 1448 | WRITE(MONIOU,778)'K0S ',(MK0S (K),MK0S2 (K),K=7,IOBSLV)
|
|---|
| 1449 | WRITE(MONIOU,778)'K - ',(MKMI (K),MKMI2 (K),K=7,IOBSLV)
|
|---|
| 1450 | WRITE(MONIOU,778)'K + ',(MKPL (K),MKPL2 (K),K=7,IOBSLV)
|
|---|
| 1451 | WRITE(MONIOU,778)'STR. BARYONS',(MHYP (K),MHYP2 (K),K=7,IOBSLV)
|
|---|
| 1452 | WRITE(MONIOU,778)'DEUTERONS ',(MDEUT (K),MDEUT2(K),K=7,IOBSLV)
|
|---|
| 1453 | WRITE(MONIOU,778)'TRITONS ',(MTRIT (K),MTRIT2(K),K=7,IOBSLV)
|
|---|
| 1454 | WRITE(MONIOU,778)'ALPHAS ',(MALPHA(K),MALPH2(K),K=7,IOBSLV)
|
|---|
| 1455 | WRITE(MONIOU,778)'OTHER PART. ',(MOTHER(K),MOTH2 (K),K=7,IOBSLV)
|
|---|
| 1456 | WRITE(MONIOU,*)
|
|---|
| 1457 |
|
|---|
| 1458 | IF ( NOBSLV .GT. 9 ) THEN
|
|---|
| 1459 | IOBSLV = MIN( 10, NOBSLV )
|
|---|
| 1460 | WRITE(MONIOU,854) (K,K=9,IOBSLV)
|
|---|
| 1461 | WRITE(MONIOU,855) (OBSLEV(K),K=9,IOBSLV)
|
|---|
| 1462 | WRITE(MONIOU,778)'PROTONS ',(MPROTO(K),MPROT2(K),K=9,IOBSLV)
|
|---|
| 1463 | WRITE(MONIOU,778)'ANTIPROTONS ',(MPROTB(K),MPRTB2(K),K=9,IOBSLV)
|
|---|
| 1464 | WRITE(MONIOU,778)'NEUTRONS ',(MNEUTR(K),MNETR2(K),K=9,IOBSLV)
|
|---|
| 1465 | WRITE(MONIOU,778)'ANTINEUTRONS',(MNEUTB(K),MNETB2(K),K=9,IOBSLV)
|
|---|
| 1466 | WRITE(MONIOU,778)'PHOTONS ',(MPHOTO(K),MPHOT2(K),K=9,IOBSLV)
|
|---|
| 1467 | WRITE(MONIOU,778)'ELECTRONS ',(MELECT(K),MELEC2(K),K=9,IOBSLV)
|
|---|
| 1468 | WRITE(MONIOU,778)'POSITRONS ',(MPOSIT(K),MPOSI2(K),K=9,IOBSLV)
|
|---|
| 1469 | WRITE(MONIOU,778)'NEUTRINOS ',(MNU (K),MNU2 (K),K=9,IOBSLV)
|
|---|
| 1470 | WRITE(MONIOU,778)'MU - ',(MMUM (K),MMUM2 (K),K=9,IOBSLV)
|
|---|
| 1471 | WRITE(MONIOU,778)'MU + ',(MMUP (K),MMUP2 (K),K=9,IOBSLV)
|
|---|
| 1472 | WRITE(MONIOU,778)'PI 0 ',(MPI0 (K),MPI02 (K),K=9,IOBSLV)
|
|---|
| 1473 | WRITE(MONIOU,778)'PI - ',(MPIM (K),MPIM2 (K),K=9,IOBSLV)
|
|---|
| 1474 | WRITE(MONIOU,778)'PI + ',(MPIP (K),MPIP2 (K),K=9,IOBSLV)
|
|---|
| 1475 | WRITE(MONIOU,778)'K0L ',(MK0L (K),MK0L2 (K),K=9,IOBSLV)
|
|---|
| 1476 | WRITE(MONIOU,778)'K0S ',(MK0S (K),MK0S2 (K),K=9,IOBSLV)
|
|---|
| 1477 | WRITE(MONIOU,778)'K - ',(MKMI (K),MKMI2 (K),K=9,IOBSLV)
|
|---|
| 1478 | WRITE(MONIOU,778)'K + ',(MKPL (K),MKPL2 (K),K=9,IOBSLV)
|
|---|
| 1479 | WRITE(MONIOU,778)'STR. BARYONS',(MHYP (K),MHYP2 (K),K=9,IOBSLV)
|
|---|
| 1480 | WRITE(MONIOU,778)'DEUTERONS ',(MDEUT (K),MDEUT2(K),K=9,IOBSLV)
|
|---|
| 1481 | WRITE(MONIOU,778)'TRITONS ',(MTRIT (K),MTRIT2(K),K=9,IOBSLV)
|
|---|
| 1482 | WRITE(MONIOU,778)'ALPHAS ',(MALPHA(K),MALPH2(K),K=9,IOBSLV)
|
|---|
| 1483 | WRITE(MONIOU,778)'OTHER PART. ',(MOTHER(K),MOTH2 (K),K=9,IOBSLV)
|
|---|
| 1484 | WRITE(MONIOU,*)
|
|---|
| 1485 | ENDIF
|
|---|
| 1486 |
|
|---|
| 1487 | ENDIF
|
|---|
| 1488 | ENDIF
|
|---|
| 1489 |
|
|---|
| 1490 | C PRINT OUT NKG RESULT FOR ALL SHOWERS IF SELECTED
|
|---|
| 1491 | IF ( FNKG ) CALL MITAGE
|
|---|
| 1492 |
|
|---|
| 1493 | C CALCULATE MEAN VALUES AND SIGMAS OF LONGITUDINAL DISTRIBUTION
|
|---|
| 1494 | IF ( LLONGI ) THEN
|
|---|
| 1495 | IF ( ISHW .GT. 1 ) THEN
|
|---|
| 1496 | DO 790 K = 1,9
|
|---|
| 1497 | DO 789 J = LPCT1,NSTEP
|
|---|
| 1498 | SPLONG(J,K) = SQRT( abs(SPLONG(J,K)-APLONG(J,K)**2/ISHW)
|
|---|
| 1499 | * /(ISHW-1) )
|
|---|
| 1500 | APLONG(J,K) = APLONG(J,K)/ISHW
|
|---|
| 1501 | 789 CONTINUE
|
|---|
| 1502 | 790 CONTINUE
|
|---|
| 1503 | ELSE
|
|---|
| 1504 | DO 990 K = 1,9
|
|---|
| 1505 | DO 989 J = LPCT1,NSTEP
|
|---|
| 1506 | SPLONG(J,K) = 0.D0
|
|---|
| 1507 | 989 CONTINUE
|
|---|
| 1508 | 990 CONTINUE
|
|---|
| 1509 | ENDIF
|
|---|
| 1510 |
|
|---|
| 1511 | C PRINT AVERAGE LONGITUDINAL DISTRIBUTIONS
|
|---|
| 1512 | WRITE(MONIOU,911) THSTEP,
|
|---|
| 1513 | * 'GAMMAS ','POSITRONS','ELECTRONS','MU- ','MU+ ',
|
|---|
| 1514 | * (J*THSTEP,(APLONG(J,K),SPLONG(J,K),K=1,5),J=LPCT1,NSTEP)
|
|---|
| 1515 | 911 FORMAT(/' AVERAGE LONGITUDINAL DISTRIBUTION IN STEPS OF ',
|
|---|
| 1516 | * F5.0,' G/CM**2 '/' ',131('=')/
|
|---|
| 1517 | * ' DEPTH',8X,3(A10,16X),A9,15X,A9 //
|
|---|
| 1518 | * (' ',F5.0,2X,1P,E11.4,'+-',E11.4,0P,1X,F12.0,'+-',F11.0,
|
|---|
| 1519 | * 1X,F12.0,'+-',E11.4,1X,F11.1,'+-',F10.1,
|
|---|
| 1520 | * 1X,F11.1,'+-',F10.1 ))
|
|---|
| 1521 | WRITE(MONIOU,912) THSTEP,
|
|---|
| 1522 | * 'HADRONS','CHARGED','NUCLEI','CERENKOV',
|
|---|
| 1523 | * (J*THSTEP,(APLONG(J,K),SPLONG(J,K),K=6,9),J=LPCT1,NSTEP)
|
|---|
| 1524 | 912 FORMAT(/' AVERAGE LONGITUDINAL DISTRIBUTION IN STEPS OF ',
|
|---|
| 1525 | * F5.0,' G/CM**2 '/' ',115('=')/
|
|---|
| 1526 | * ' DEPTH',8X,A9,16X,A10,16X,A9,21X,A9 //
|
|---|
| 1527 | * (' ',F5.0,1X,F11.1,'+-',F11.1,1X,F12.0,'+-',F12.0,
|
|---|
| 1528 | * 2X,F10.1,'+-',F10.1,1X,1P,E16.6,'+-',E16.6,0P))
|
|---|
| 1529 | ENDIF
|
|---|
| 1530 |
|
|---|
| 1531 | IF ( FLGFIT ) THEN
|
|---|
| 1532 | C PERFORM FIT TO THE LONGITUDINAL DISTRIBUTION OF ALL CHARGED PARTICLES
|
|---|
| 1533 | C IF EGS IS SELECTED THIS IS THE DISTRIBUTION WHICH IS TO BE TAKEN
|
|---|
| 1534 | IF ( FEGS ) THEN
|
|---|
| 1535 | DO 730 J=0,NSTEP-LPCT1
|
|---|
| 1536 | DEP(J+1) = (J+LPCT1)*THSTEP
|
|---|
| 1537 | CHAPAR(J+1) = APLONG(J+LPCT1,7)
|
|---|
| 1538 | 730 CONTINUE
|
|---|
| 1539 | NSTP = NSTEP + 1 - LPCT1
|
|---|
| 1540 | WRITE(MONIOU,8229) 'AVERAGE ALL CHARGED PARTICLES'
|
|---|
| 1541 | C IF NKG IS SELECTED ONLY THE ELECTRON DISTRIBUTION IS AVAILABLE
|
|---|
| 1542 | ELSEIF ( FNKG ) THEN
|
|---|
| 1543 | DEP(1) = 0.D0
|
|---|
| 1544 | CHAPAR(1) = 0.D0
|
|---|
| 1545 | DO 731 J = 1,IALT(1)
|
|---|
| 1546 | DEP(J+1) = TLEV(J)
|
|---|
| 1547 | CHAPAR(J+1) = SEL(J)/ISHW
|
|---|
| 1548 | 731 CONTINUE
|
|---|
| 1549 | NSTP = IALT(1) + 1
|
|---|
| 1550 | WRITE(MONIOU,8229) 'AVERAGE NKG ELECTRONS'
|
|---|
| 1551 | C IF NONE IS SELECTED IT DOES NOT REALLY MAKE SENSE TO FIT
|
|---|
| 1552 | C BUT LET'S TAKE THEN ALL CHARGED WHICH ARE MUONS AND HADRONS
|
|---|
| 1553 | ELSE
|
|---|
| 1554 | DO 732 J=0,NSTEP-LPCT1
|
|---|
| 1555 | DEP(J+1) = (J+LPCT1)*THSTEP
|
|---|
| 1556 | CHAPAR(J+1) = APLONG(J+LPCT1,7)
|
|---|
| 1557 | 732 CONTINUE
|
|---|
| 1558 | NSTP = NSTEP + 1 - LPCT1
|
|---|
| 1559 | WRITE(MONIOU,8229) 'AVERAGE MUONS AND CHARGED HADRONS'
|
|---|
| 1560 | ENDIF
|
|---|
| 1561 | IF ( NSTP .GT. 6 ) THEN
|
|---|
| 1562 | C THERE ARE MORE THAN 6 STEP VALUES, A FIT SHOULD BE POSSIBLE.
|
|---|
| 1563 | C DO THE FIT: NPAR AND FPARAM GIVE THE NUMBER OF PARAMETERS USED
|
|---|
| 1564 | C AND THE FINAL VALUES FOR THE PARAMETERS. CHISQ GIVES THE CHI**2/DOF
|
|---|
| 1565 | C FOR THE FIT.
|
|---|
| 1566 | CALL LONGFT(FPARAM,CHI2)
|
|---|
| 1567 | WRITE(MONIOU,8230) FPARAM,CHI2,CHI2/SQRT(FPARAM(1))*100.D0
|
|---|
| 1568 | ELSE
|
|---|
| 1569 | WRITE(MONIOU,*) 'NO LONGI. FIT POSSIBLE, ',
|
|---|
| 1570 | * ' NSTP = ',NSTP,' TOO SMALL.'
|
|---|
| 1571 | ENDIF
|
|---|
| 1572 | ENDIF
|
|---|
| 1573 |
|
|---|
| 1574 |
|
|---|
| 1575 | C CONTROL PRINT OUTPUT OF CONSTANTS
|
|---|
| 1576 | IF ( DEBUG ) THEN
|
|---|
| 1577 | CALL STAEND
|
|---|
| 1578 | WRITE(MDEBUG,*) 'MAIN : STAEND CALLED'
|
|---|
| 1579 | ENDIF
|
|---|
| 1580 |
|
|---|
| 1581 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1582 | call jcenddata(runh,rune)
|
|---|
| 1583 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1584 |
|
|---|
| 1585 | WRITE(MONIOU,*)' '
|
|---|
| 1586 | CALL PRTIME(TTIME)
|
|---|
| 1587 | WRITE(MONIOU,101)
|
|---|
| 1588 | 101 FORMAT (/' ',10('='),' END OF RUN ',67('='))
|
|---|
| 1589 |
|
|---|
| 1590 | C CLOSE ALL OPEN UNITS
|
|---|
| 1591 | IF ( MONIOU .NE. 6 ) CLOSE( MONIOU )
|
|---|
| 1592 | IF ( MDEBUG .NE. 6 ) CLOSE( MDEBUG )
|
|---|
| 1593 | CLOSE( EXST )
|
|---|
| 1594 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1595 | c CLOSE( PATAPE )
|
|---|
| 1596 | c IF ( LCERFI ) CLOSE( CETAPE )
|
|---|
| 1597 | c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|---|
| 1598 |
|
|---|
| 1599 | STOP
|
|---|
| 1600 | END
|
|---|