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