| 1 | SUBROUTINE AVAGE
|
|---|
| 2 |
|
|---|
| 3 | C-----------------------------------------------------------------------
|
|---|
| 4 | C AVE(ERAGE) AGE
|
|---|
| 5 | C
|
|---|
| 6 | C CALCULATES AVERAGE AGE AS A FUNCTION OF RADIUS
|
|---|
| 7 | C THIS SUBROUTINE IS CALLED FROM MAIN
|
|---|
| 8 | C-----------------------------------------------------------------------
|
|---|
| 9 |
|
|---|
| 10 | IMPLICIT NONE
|
|---|
| 11 | *KEEP,BUFFS.
|
|---|
| 12 | COMMON /BUFFS/ RUNH,RUNE,EVTH,EVTE,DATAB,LH
|
|---|
| 13 | INTEGER MAXBUF,MAXLEN
|
|---|
| 14 | PARAMETER (MAXBUF=39*7)
|
|---|
| 15 | PARAMETER (MAXLEN=12)
|
|---|
| 16 | REAL RUNH(MAXBUF),EVTH(MAXBUF),EVTE(MAXBUF),
|
|---|
| 17 | * RUNE(MAXBUF),DATAB(MAXBUF)
|
|---|
| 18 | INTEGER LH
|
|---|
| 19 | CHARACTER*4 CRUNH,CRUNE,CEVTH,CEVTE
|
|---|
| 20 | EQUIVALENCE (RUNH(1),CRUNH), (RUNE(1),CRUNE)
|
|---|
| 21 | EQUIVALENCE (EVTH(1),CEVTH), (EVTE(1),CEVTE)
|
|---|
| 22 | *KEEP,ELABCT.
|
|---|
| 23 | COMMON /ELABCT/ ELCUT
|
|---|
| 24 | DOUBLE PRECISION ELCUT(4)
|
|---|
| 25 | *KEEP,NKGI.
|
|---|
| 26 | COMMON /NKGI/ SEL,SELLG,STH,ZEL,ZELLG,ZSL,DIST,
|
|---|
| 27 | * DISX,DISY,DISXY,DISYX,DLAX,DLAY,DLAXY,DLAYX,
|
|---|
| 28 | * OBSATI,RADNKG,RMOL,TLEV,TLEVCM,IALT
|
|---|
| 29 | DOUBLE PRECISION SEL(10),SELLG(10),STH(10),ZEL(10),ZELLG(10),
|
|---|
| 30 | * ZSL(10),DIST(10),
|
|---|
| 31 | * DISX(-10:10),DISY(-10:10),
|
|---|
| 32 | * DISXY(-10:10,2),DISYX(-10:10,2),
|
|---|
| 33 | * DLAX (-10:10,2),DLAY (-10:10,2),
|
|---|
| 34 | * DLAXY(-10:10,2),DLAYX(-10:10,2),
|
|---|
| 35 | * OBSATI(2),RADNKG,RMOL(2),TLEV(10),TLEVCM(10)
|
|---|
| 36 | INTEGER IALT(2)
|
|---|
| 37 | *KEEP,NKGS.
|
|---|
| 38 | COMMON /NKGS/ CZX,CZY,CZXY,CZYX,SAH,SL,ZNE
|
|---|
| 39 | DOUBLE PRECISION CZX(-10:10,2),CZY(-10:10,2),CZXY(-10:10,2),
|
|---|
| 40 | * CZYX(-10:10,2),SAH(10),SL(10),ZNE(10)
|
|---|
| 41 | *KEEP,RUNPAR.
|
|---|
| 42 | COMMON /RUNPAR/ FIXHEI,THICK0,HILOECM,HILOELB,
|
|---|
| 43 | * STEPFC,NRRUN,NSHOW,PATAPE,MONIIN,
|
|---|
| 44 | * MONIOU,MDEBUG,NUCNUC,
|
|---|
| 45 | * CETAPE,
|
|---|
| 46 | * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
|
|---|
| 47 | * N1STTR,MDBASE,
|
|---|
| 48 | * DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
|
|---|
| 49 | * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
|
|---|
| 50 | * ,GHEISH,GHESIG
|
|---|
| 51 | COMMON /RUNPAC/ DSN,HOST,USER
|
|---|
| 52 | DOUBLE PRECISION FIXHEI,THICK0,HILOECM,HILOELB
|
|---|
| 53 | REAL STEPFC
|
|---|
| 54 | INTEGER NRRUN,NSHOW,PATAPE,MONIIN,MONIOU,MDEBUG,NUCNUC,
|
|---|
| 55 | * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
|
|---|
| 56 | * N1STTR,MDBASE
|
|---|
| 57 | INTEGER CETAPE
|
|---|
| 58 | CHARACTER*79 DSN
|
|---|
| 59 | CHARACTER*20 HOST,USER
|
|---|
| 60 |
|
|---|
| 61 | LOGICAL DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
|
|---|
| 62 | * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
|
|---|
| 63 | * ,GHEISH,GHESIG
|
|---|
| 64 | *KEND.
|
|---|
| 65 |
|
|---|
| 66 | DOUBLE PRECISION AJ,BJ,CJ,DF(10),SJ(10),SLLG,TH,ZF
|
|---|
| 67 | INTEGER I,ID,IL,IOL,J,K,L
|
|---|
| 68 | C-----------------------------------------------------------------------
|
|---|
| 69 |
|
|---|
| 70 | IF ( DEBUG ) WRITE(MDEBUG,*) 'AVAGE :'
|
|---|
| 71 |
|
|---|
| 72 | IF ( FPRINT ) WRITE(MONIOU,1110) SHOWNO,ELCUT(3),ELCUT(4)
|
|---|
| 73 | 1110 FORMAT (/' ---------- NKG - OUTPUT OF SHOWER NO ',I10,
|
|---|
| 74 | * ' --------------------------------'/
|
|---|
| 75 | * ' ELECTRON/PHOTON THRESHOLD AT ',F10.5,' /',F10.5,' GEV')
|
|---|
| 76 |
|
|---|
| 77 | C LOOP OVER ALL DISTANCES WHERE ELECTRON NUMBER IS CALCULATED
|
|---|
| 78 | DO 302 K = 1,2
|
|---|
| 79 | IF ( OBSATI(K) .GE. 0.D0 ) THEN
|
|---|
| 80 | DO 301 ID = -10,10
|
|---|
| 81 | DLAX (ID,K) = DLAX (ID,K) + CZX (ID,K)
|
|---|
| 82 | DLAY (ID,K) = DLAY (ID,K) + CZY (ID,K)
|
|---|
| 83 | DLAXY(ID,K) = DLAXY(ID,K) + CZXY(ID,K)
|
|---|
| 84 | DLAYX(ID,K) = DLAYX(ID,K) + CZYX(ID,K)
|
|---|
| 85 | 301 CONTINUE
|
|---|
| 86 | ENDIF
|
|---|
| 87 | 302 CONTINUE
|
|---|
| 88 |
|
|---|
| 89 | C CALCULATE LONGITUDINAL SHOWER DEVELOPMENT
|
|---|
| 90 | DO 311 IL = 1,IALT(1)
|
|---|
| 91 | IF ( SL(IL) .GT. 0.D0 ) THEN
|
|---|
| 92 | SEL(IL) = SEL(IL) + SL(IL)
|
|---|
| 93 | SLLG = LOG10(SL(IL))
|
|---|
| 94 | SELLG(IL) = SELLG(IL) + SLLG
|
|---|
| 95 | ZEL(IL) = ZEL(IL) + SL(IL)**2
|
|---|
| 96 | ZELLG(IL) = ZELLG(IL) + SLLG**2
|
|---|
| 97 | ZF = ZNE(IL) / SL(IL)
|
|---|
| 98 | CALL AGE( ZF,TH )
|
|---|
| 99 | C AGE PARAMETERS AVERAGED ON ALL SUBCASCADES AT THIS LEVEL
|
|---|
| 100 | SAH(IL) = TH
|
|---|
| 101 | STH(IL) = STH(IL) + TH
|
|---|
| 102 | ZSL(IL) = ZSL(IL) + TH**2
|
|---|
| 103 | ELSE
|
|---|
| 104 | SAH(IL) = 0.D0
|
|---|
| 105 | ENDIF
|
|---|
| 106 | EVTE(175+IL) = SL (IL)
|
|---|
| 107 | EVTE(185+IL) = SAH(IL)
|
|---|
| 108 | EVTE(215+IL) = TLEV(IL)
|
|---|
| 109 | EVTE(225+IL) = TLEVCM(IL)
|
|---|
| 110 | 311 CONTINUE
|
|---|
| 111 |
|
|---|
| 112 | C PRINT LONGITUDINAL SHOWER DEVELOPMENT
|
|---|
| 113 | IF ( FPRINT ) WRITE(MONIOU,229)
|
|---|
| 114 | * (I,TLEV(I),TLEVCM(I),SL(I),SAH(I),I=1,IALT(1))
|
|---|
| 115 | 229 FORMAT(
|
|---|
| 116 | * /' LEVEL',2X,'THICKNESS',8X,'HEIGHT',5X,'ELECT. NUMBER',7X,'AGE'
|
|---|
| 117 | * /' NO. ',2X,' G/CM**2',8X,' CM'/
|
|---|
| 118 | * (' ',I4,F12.0,2X,F12.0,1X,F17.3,F10.3) )
|
|---|
| 119 |
|
|---|
| 120 | DO 312 IOL = 1,2
|
|---|
| 121 | IF ( OBSATI(IOL) .LT. 0.D0 ) GOTO 312
|
|---|
| 122 | C DETERMINE LOCAL AGE PARAMETER
|
|---|
| 123 | DO 50 J = 1,9
|
|---|
| 124 | IF ( CZX(J+1,IOL).GT.0.D0 .AND. CZX(-J-1,IOL).GT.0.D0 .AND.
|
|---|
| 125 | * CZXY(J+1,IOL).GT.0.D0 .AND. CZXY(-J-1,IOL).GT.0.D0 .AND.
|
|---|
| 126 | * CZYX(J+1,IOL).GT.0.D0 .AND. CZYX(-J-1,IOL).GT.0.D0 .AND.
|
|---|
| 127 | * CZY(J+1,IOL).GT.0.D0 .AND. CZY(-J-1,IOL).GT.0.D0 ) THEN
|
|---|
| 128 | AJ = 0.125D0 * (
|
|---|
| 129 | * CZX(J,IOL) /CZX(J+1,IOL) + CZX(-J,IOL) /CZX(-J-1,IOL)
|
|---|
| 130 | * + CZXY(J,IOL)/CZXY(J+1,IOL)+ CZXY(-J,IOL)/CZXY(-J-1,IOL)
|
|---|
| 131 | * + CZYX(J,IOL)/CZYX(J+1,IOL)+ CZYX(-J,IOL)/CZYX(-J-1,IOL)
|
|---|
| 132 | * + CZY(J,IOL) /CZY(J+1,IOL) + CZY(-J,IOL) /CZY(-J-1,IOL) )
|
|---|
| 133 | ELSE
|
|---|
| 134 | AJ = 0.D0
|
|---|
| 135 | ENDIF
|
|---|
| 136 | IF ( AJ .GT. 0.D0 ) THEN
|
|---|
| 137 | BJ = DIST(J) / DIST(J+1)
|
|---|
| 138 | CJ = (DIST(J)+RMOL(IOL)) / (DIST(J+1)+RMOL(IOL))
|
|---|
| 139 | SJ(J) = LOG(AJ * BJ**2 * CJ**4.5D0) / LOG(BJ * CJ)
|
|---|
| 140 | DF(J) = 0.5D0 * (DIST(J) + DIST(J+1))
|
|---|
| 141 | ELSE
|
|---|
| 142 | SJ(J) = 0.D0
|
|---|
| 143 | DF(J) = 0.D0
|
|---|
| 144 | ENDIF
|
|---|
| 145 | 50 CONTINUE
|
|---|
| 146 |
|
|---|
| 147 | DO L = 1,10
|
|---|
| 148 | EVTE(165+IOL*40+L) = SJ(L)
|
|---|
| 149 | ENDDO
|
|---|
| 150 |
|
|---|
| 151 | IF ( FPRINT ) THEN
|
|---|
| 152 | C WRITE LOCAL AGE PARAMETER
|
|---|
| 153 | WRITE(MONIOU,60) IOL,OBSATI(IOL), (I,DF(I),SJ(I),I=1,9)
|
|---|
| 154 | 60 FORMAT(/' RADIAL BIN DISTANCE(CM) LOCAL AGE AT LEVEL NO.',
|
|---|
| 155 | * I4,' AT HEIGHT:',F10.0,' CM'/
|
|---|
| 156 | * (' ',I10,' ',F10.0,' ',F10.3 ) )
|
|---|
| 157 |
|
|---|
| 158 | C PRINT LATERAL ELECTRON DISTRIBUTION
|
|---|
| 159 | WRITE(MONIOU,507) IOL,OBSATI(IOL)
|
|---|
| 160 | 507 FORMAT(/' LATERAL ELECTRON DENSITY (/CM**2) AT LEVEL NO.',
|
|---|
| 161 | * I4,' AT HEIGHT:',F10.0,' CM'/
|
|---|
| 162 | * ' --------------------------------------------------',
|
|---|
| 163 | * '---------------------------'/
|
|---|
| 164 | * ' DIST (CM) CZX CZY ',
|
|---|
| 165 | * ' CZXY CZYX ')
|
|---|
| 166 | WRITE(MONIOU,508) (DISX(I),CZX(I,IOL),CZY(I,IOL),
|
|---|
| 167 | * CZXY(I,IOL),CZYX(I,IOL),I=-10,10)
|
|---|
| 168 | 508 FORMAT(' ',0P,F10.0,1P,4E15.5)
|
|---|
| 169 | ENDIF
|
|---|
| 170 |
|
|---|
| 171 | 312 CONTINUE
|
|---|
| 172 |
|
|---|
| 173 | DO L = 1,10
|
|---|
| 174 | EVTE(195+L) = DIST(L)
|
|---|
| 175 | EVTE(235+L) = DF(L)
|
|---|
| 176 | ENDDO
|
|---|
| 177 |
|
|---|
| 178 | C WRITE NKG - SHOWER INFORMATION TO EVENT END BLOCK
|
|---|
| 179 | DO 353 L = 1,21
|
|---|
| 180 | EVTE( 7+L) = CZX (-11+L,1)
|
|---|
| 181 | EVTE( 28+L) = CZY (-11+L,1)
|
|---|
| 182 | EVTE( 49+L) = CZXY(-11+L,1)
|
|---|
| 183 | EVTE( 70+L) = CZYX(-11+L,1)
|
|---|
| 184 | EVTE( 91+L) = CZX (-11+L,2)
|
|---|
| 185 | EVTE(112+L) = CZY (-11+L,2)
|
|---|
| 186 | EVTE(133+L) = CZXY(-11+L,2)
|
|---|
| 187 | EVTE(154+L) = CZYX(-11+L,2)
|
|---|
| 188 | 353 CONTINUE
|
|---|
| 189 |
|
|---|
| 190 | RETURN
|
|---|
| 191 | END
|
|---|