(file) Return to gxphys.f CVS log (file) (dir) Up to [HallC] / sane_geant_mc

  1 jones 1.1 *CMZ :          02/08/94  19.29.57  by  S.Ravndal
  2           *-- Author :
  3                 SUBROUTINE GXPHYS
  4           C.
  5           C.    ******************************************************************
  6           C.    *                                                                *
  7           C.    *      Physics parameters control commands                       *
  8           C.    *                                                                *
  9           C.    *       Author:    R.Brun      **********                        *
 10           C.    *                                                                *
 11           C.    ******************************************************************
 12           C.
 13           *KEEP,GCBANK.
 14                 INTEGER IQ,LQ,NZEBRA,IXSTOR,IXDIV,IXCONS,LMAIN,LR1,JCG
 15                 INTEGER KWBANK,KWWORK,IWS
 16                 REAL GVERSN,ZVERSN,FENDQ,WS,Q
 17           C
 18                 PARAMETER (KWBANK=69000,KWWORK=5200)
 19                 COMMON/GCBANK/NZEBRA,GVERSN,ZVERSN,IXSTOR,IXDIV,IXCONS,FENDQ(16)
 20                +             ,LMAIN,LR1,WS(KWBANK)
 21                 DIMENSION IQ(2),Q(2),LQ(8000),IWS(2)
 22 jones 1.1       EQUIVALENCE (Q(1),IQ(1),LQ(9)),(LQ(1),LMAIN),(IWS(1),WS(1))
 23                 EQUIVALENCE (JCG,JGSTAT)
 24                 INTEGER       JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART
 25                +      ,JROTM ,JRUNG ,JSET  ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX
 26                +      ,JVOLUM,JXYZ  ,JGPAR ,JGPAR2,JSKLT
 27           C
 28                 COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART
 29                +      ,JROTM ,JRUNG ,JSET  ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX
 30                +      ,JVOLUM,JXYZ  ,JGPAR ,JGPAR2,JSKLT
 31           C
 32           *KEEP,GCPHYS.
 33                 COMMON/GCPHYS/IPAIR,SPAIR,SLPAIR,ZINTPA,STEPPA
 34                +             ,ICOMP,SCOMP,SLCOMP,ZINTCO,STEPCO
 35                +             ,IPHOT,SPHOT,SLPHOT,ZINTPH,STEPPH
 36                +             ,IPFIS,SPFIS,SLPFIS,ZINTPF,STEPPF
 37                +             ,IDRAY,SDRAY,SLDRAY,ZINTDR,STEPDR
 38                +             ,IANNI,SANNI,SLANNI,ZINTAN,STEPAN
 39                +             ,IBREM,SBREM,SLBREM,ZINTBR,STEPBR
 40                +             ,IHADR,SHADR,SLHADR,ZINTHA,STEPHA
 41                +             ,IMUNU,SMUNU,SLMUNU,ZINTMU,STEPMU
 42                +             ,IDCAY,SDCAY,SLIFE ,SUMLIF,DPHYS1
 43 jones 1.1      +             ,ILOSS,SLOSS,SOLOSS,STLOSS,DPHYS2
 44                +             ,IMULS,SMULS,SOMULS,STMULS,DPHYS3
 45                +             ,IRAYL,SRAYL,SLRAYL,ZINTRA,STEPRA
 46                 COMMON/GCPHLT/ILABS,SLABS,SLLABS,ZINTLA,STEPLA
 47                +             ,ISYNC
 48                +             ,ISTRA
 49           *
 50                 INTEGER IPAIR,ICOMP,IPHOT,IPFIS,IDRAY,IANNI,IBREM,IHADR,IMUNU
 51                +       ,IDCAY,ILOSS,IMULS,IRAYL,ILABS,ISYNC,ISTRA
 52                 REAL    SPAIR,SLPAIR,ZINTPA,STEPPA,SCOMP,SLCOMP,ZINTCO,STEPCO
 53                +       ,SPHOT,SLPHOT,ZINTPH,STEPPH,SPFIS,SLPFIS,ZINTPF,STEPPF
 54                +       ,SDRAY,SLDRAY,ZINTDR,STEPDR,SANNI,SLANNI,ZINTAN,STEPAN
 55                +       ,SBREM,SLBREM,ZINTBR,STEPBR,SHADR,SLHADR,ZINTHA,STEPHA
 56                +       ,SMUNU,SLMUNU,ZINTMU,STEPMU,SDCAY,SLIFE ,SUMLIF,DPHYS1
 57                +       ,SLOSS,SOLOSS,STLOSS,DPHYS2,SMULS,SOMULS,STMULS,DPHYS3
 58                +       ,SRAYL,SLRAYL,ZINTRA,STEPRA,SLABS,SLLABS,ZINTLA,STEPLA
 59           C
 60           *KEEP,GCCUTS.
 61                 COMMON/GCCUTS/CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM
 62                +             ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS(5)
 63           C
 64 jones 1.1       REAL          CUTGAM,CUTELE,CUTNEU,CUTHAD,CUTMUO,BCUTE,BCUTM
 65                +             ,DCUTE ,DCUTM ,PPCUTM,TOFMAX,GCUTS
 66           C
 67           *KEEP,GCONSP.
 68                 DOUBLE PRECISION PI,TWOPI,PIBY2,DEGRAD,RADDEG,CLIGHT,BIG,EMASS
 69                 DOUBLE PRECISION EMMU,PMASS,AVO
 70           *
 71                 PARAMETER (PI=3.14159265358979324D0)
 72                 PARAMETER (TWOPI=6.28318530717958648D0)
 73                 PARAMETER (PIBY2=1.57079632679489662D0)
 74                 PARAMETER (DEGRAD=0.0174532925199432958D0)
 75                 PARAMETER (RADDEG=57.2957795130823209D0)
 76                 PARAMETER (CLIGHT=29979245800.D0)
 77                 PARAMETER (BIG=10000000000.D0)
 78                 PARAMETER (EMASS=0.0005109990615D0)
 79                 PARAMETER (EMMU=0.105658387D0)
 80                 PARAMETER (PMASS=0.9382723128D0)
 81                 PARAMETER (AVO=0.60221367D0)
 82           *
 83           *KEEP,GCUNIT.
 84                 COMMON/GCUNIT/LIN,LOUT,NUNITS,LUNITS(5)
 85 jones 1.1       INTEGER LIN,LOUT,NUNITS,LUNITS
 86                 COMMON/GCMAIL/CHMAIL
 87                 CHARACTER*132 CHMAIL
 88           C
 89           *KEEP,GCMULO.
 90                 COMMON/GCMULO/SINMUL(101),COSMUL(101),SQRMUL(101),OMCMOL,CHCMOL
 91                +  ,EKMIN,EKMAX,NEKBIN,NEK1,EKINV,GEKA,GEKB,EKBIN(200),ELOW(200)
 92           C
 93                 REAL SINMUL,COSMUL,SQRMUL,OMCMOL,CHCMOL,EKMIN,EKMAX,ELOW,EKINV
 94                 REAL GEKA,GEKB,EKBIN
 95                 INTEGER NEKBIN,NEK1
 96           C
 97           *KEND.
 98                 DIMENSION UCUTS(10),ULCUTS(10)
 99                 EQUIVALENCE(UCUTS(1),CUTGAM)
100                 DIMENSION MECA(5,13)
101                 EQUIVALENCE (MECA(1,1),IPAIR)
102                 CHARACTER*6 CUTNAM(10)
103                 CHARACTER*4 CEN(10)
104                 CHARACTER*32 CHPATL
105                 CHARACTER*(*) CHNUMB
106 jones 1.1       PARAMETER (CHNUMB='1234567890')
107                 DATA CUTNAM/'CUTGAM','CUTELE','CUTNEU','CUTHAD','CUTMUO',
108                +            'BCUTE' ,'BCUTM' ,'DCUTE' ,'DCUTM' ,'PPCUTM'/
109           C.
110           C.    ------------------------------------------------------------------
111           C.
112                 CALL KUPATL(CHPATL,NPAR)
113           *
114                 IF(CHPATL.EQ.'ANNI')THEN
115                    CALL KUGETI(IANNI)
116           *
117                 ELSEIF(CHPATL.EQ.'AUTO')THEN
118                    CALL KUGETI(IAUTO)
119           *
120                 ELSEIF(CHPATL.EQ.'BREM')THEN
121                    CALL KUGETI(IBREM)
122           *
123                 ELSEIF(CHPATL.EQ.'CKOV')THEN
124                    CALL KUGETI(ICKOV)
125           *
126                 ELSEIF(CHPATL.EQ.'COMP')THEN
127 jones 1.1          CALL KUGETI(ICOMP)
128           *
129                 ELSEIF(CHPATL.EQ.'DCAY')THEN
130                    CALL KUGETI(IDCAY)
131           *
132                 ELSEIF(CHPATL.EQ.'DRAY')THEN
133                    CALL KUGETI(IDRAY)
134           *
135                 ELSEIF(CHPATL.EQ.'ERAN')THEN
136                    CALL KUGETR(EKMIN)
137                    CALL KUGETR(EKMAX)
138                    CALL KUGETI(NEKBIN)
139                    NEKBIN=MIN(NEKBIN,199)
140           *
141                 ELSEIF(CHPATL.EQ.'HADR')THEN
142                    CALL KUGETI(IHADR)
143           *
144                 ELSEIF(CHPATL.EQ.'LABS')THEN
145                    CALL KUGETI(ILABS)
146           *
147                 ELSEIF(CHPATL.EQ.'LOSS')THEN
148 jones 1.1          CALL KUGETI(ILOSS)
149                    IF(ILOSS.EQ.0.OR.ILOSS.EQ.2)THEN
150                       IDRAY=0
151                    ELSE
152                       IDRAY=1
153                    ENDIF
154           *
155                 ELSEIF(CHPATL.EQ.'MULS')THEN
156                    CALL KUGETI(IMULS)
157           *
158                 ELSEIF(CHPATL.EQ.'MUNU')THEN
159                    CALL KUGETI(IMUNU)
160           *
161                 ELSEIF(CHPATL.EQ.'PAIR')THEN
162                    CALL KUGETI(IPAIR)
163           *
164                 ELSEIF(CHPATL.EQ.'PFIS')THEN
165                    CALL KUGETI(IPFIS)
166           *
167                 ELSEIF(CHPATL.EQ.'PHOT')THEN
168                    CALL KUGETI(IPHOT)
169 jones 1.1 *
170                 ELSEIF(CHPATL.EQ.'RAYL')THEN
171                    CALL KUGETI(IRAYL)
172           *
173                 ELSEIF(CHPATL.EQ.'STRA')THEN
174                    CALL KUGETI(ISTRA)
175           *
176                 ELSEIF(CHPATL.EQ.'SYNC')THEN
177                    CALL KUGETI(ISYNC)
178           *
179                 ELSEIF(CHPATL.EQ.'CUTS')THEN
180                    IF(NPAR.LE.0)THEN
181                       WRITE(LOUT,10000)
182           10000       FORMAT(/,' Current PHYSICS parameters:',/)
183                       DO 10 I=1,10
184                          CALL GEVKEV(UCUTS(I),ULCUTS(I),CEN(I))
185                          WRITE(LOUT,10100)CUTNAM(I),ULCUTS(I),CEN(I)
186           10100          FORMAT(5X,A,' = ',F7.2,1X,A)
187              10       CONTINUE
188                       GO TO 999
189                    ENDIF
190 jones 1.1          CALL KUGETR(CUTGAM)
191                    CALL KUGETR(CUTELE)
192                    CALL KUGETR(CUTHAD)
193                    CALL KUGETR(CUTNEU)
194                    CALL KUGETR(CUTMUO)
195                    CALL KUGETR(BCUTE)
196                    CALL KUGETR(BCUTM)
197                    CALL KUGETR(DCUTE)
198                    CALL KUGETR(DCUTM)
199                    CALL KUGETR(PPCUTM)
200                    CALL KUGETR(TOFMAX)
201                    CALL KUGETR(GCUTS(1))
202                    IF(BCUTE.LE.0.)BCUTE=CUTGAM
203                    IF(BCUTM.LE.0.)BCUTM=CUTGAM
204                    IF(DCUTE.LE.0.)DCUTE=CUTELE
205                    IF(DCUTM.LE.0.)DCUTM=CUTELE
206                    IF(PPCUTM.LT.4.*EMASS)PPCUTM=4.*EMASS
207           *
208                 ELSEIF(CHPATL.EQ.'DRPRT')THEN
209                    CALL KUGETI(IPART)
210                    CALL KUGETI(IMATE)
211 jones 1.1          CALL KUGETR(STEP)
212                    CALL KUGETI(NPOINT)
213                    CALL GDRPRT(IPART,IMATE,STEP,NPOINT)
214           *
215                 ELSEIF(CHPATL.EQ.'PHYSI')THEN
216                    IF(JTMED.GT.0)THEN
217                       DO 30 I=1,IQ(JTMED-2)
218                          JTM=LQ(JTMED-I)
219                          IF(JTM.LE.0)GO TO 30
220                          IF(IQ(JTM-2).EQ.0)THEN
221                             CALL MZPUSH(IXCONS,JTM,10,0,'I')
222                             GO TO 30
223                          ENDIF
224                          DO 20 J=1,10
225                             JTMI=LQ(JTM-J)
226                             IF(JTMI.GT.0)THEN
227                                CALL MZDROP(IXCONS,JTMI,' ')
228                             ENDIF
229              20          CONTINUE
230              30       CONTINUE
231                       CALL UCOPY(CUTGAM,Q(JTMED+1),10)
232 jones 1.1             DO 40 I=1,13
233                          Q(JTMED+10+I)=MECA(1,I)
234              40       CONTINUE
235                    ENDIF
236                    IF(JMATE.LE.0)GO TO 999
237                    DO 60 I=1,IQ(JMATE-2)
238                       JMA=LQ(JMATE-I)
239                       IF(JMA.LE.0)GO TO 60
240                       DO 50 J=1,IQ(JMA-2)
241                          IF(J.EQ.4.OR.J.EQ.5)GO TO 60
242                          JM=LQ(JMA-J)
243                          IF(JM.LE.0)GO TO 50
244                          CALL MZDROP(IXCONS,JM,'L')
245              50       CONTINUE
246              60    CONTINUE
247                    CALL MZGARB (IXCONS, 0)
248                    CALL GPHYSI
249                 ENDIF
250           *
251             999 END

Analyzer/Replay: Mark Jones, Documents: Stephen Wood
Powered by
ViewCVS 0.9.2-cvsgraph-1.4.0