]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA6/pythia6150.f
the MIXT geometry (IHEP+GPS2) has been introduced
[u/mrichter/AliRoot.git] / PYTHIA6 / pythia6150.f
index 46b82e37b52df507252fa3a6c9125f7f0dbc244c..cfffeb5fec03980c01c953500207a257dd605af4 100644 (file)
@@ -45998,171 +45998,171 @@ C...Commonblocks.
       RETURN
       END
  
-C*********************************************************************
-C...PYR
-C...Generates random numbers uniformly distributed between
-C...0 and 1, excluding the endpoints.
-      FUNCTION PYR(IDUMMY)
-C...Double precision and integer declarations.
-      IMPLICIT DOUBLE PRECISION(A-H, O-Z)
-      IMPLICIT INTEGER(I-N)
-      INTEGER PYK,PYCHGE,PYCOMP
-C...Commonblocks.
-      COMMON/PYDATR/MRPY(6),RRPY(100)
-      SAVE /PYDATR/
-C...Equivalence between commonblock and local variables.
-      EQUIVALENCE (MRPY1,MRPY(1)),(MRPY2,MRPY(2)),(MRPY3,MRPY(3)),
-     &(MRPY4,MRPY(4)),(MRPY5,MRPY(5)),(MRPY6,MRPY(6)),
-     &(RRPY98,RRPY(98)),(RRPY99,RRPY(99)),(RRPY00,RRPY(100))
-C...Initialize generation from given seed.
-      IF(MRPY2.EQ.0) THEN
-        IJ=MOD(MRPY1/30082,31329)
-        KL=MOD(MRPY1,30082)
-        I=MOD(IJ/177,177)+2
-        J=MOD(IJ,177)+2
-        K=MOD(KL/169,178)+1
-        L=MOD(KL,169)
-        DO 110 II=1,97
-          S=0D0
-          T=0.5D0
-          DO 100 JJ=1,48
-            M=MOD(MOD(I*J,179)*K,179)
-            I=J
-            J=K
-            K=M
-            L=MOD(53*L+1,169)
-            IF(MOD(L*M,64).GE.32) S=S+T
-            T=0.5D0*T
-  100     CONTINUE
-          RRPY(II)=S
-  110   CONTINUE
-        TWOM24=1D0
-        DO 120 I24=1,24
-          TWOM24=0.5D0*TWOM24
-  120   CONTINUE
-        RRPY98=362436D0*TWOM24
-        RRPY99=7654321D0*TWOM24
-        RRPY00=16777213D0*TWOM24
-        MRPY2=1
-        MRPY3=0
-        MRPY4=97
-        MRPY5=33
-      ENDIF
-C...Generate next random number.
-  130 RUNI=RRPY(MRPY4)-RRPY(MRPY5)
-      IF(RUNI.LT.0D0) RUNI=RUNI+1D0
-      RRPY(MRPY4)=RUNI
-      MRPY4=MRPY4-1
-      IF(MRPY4.EQ.0) MRPY4=97
-      MRPY5=MRPY5-1
-      IF(MRPY5.EQ.0) MRPY5=97
-      RRPY98=RRPY98-RRPY99
-      IF(RRPY98.LT.0D0) RRPY98=RRPY98+RRPY00
-      RUNI=RUNI-RRPY98
-      IF(RUNI.LT.0D0) RUNI=RUNI+1D0
-      IF(RUNI.LE.0D0.OR.RUNI.GE.1D0) GOTO 130
-C...Update counters. Random number to output.
-      MRPY3=MRPY3+1
-      IF(MRPY3.EQ.1000000000) THEN
-        MRPY2=MRPY2+1
-        MRPY3=0
-      ENDIF
-      PYR=RUNI
-      RETURN
-      END
-C*********************************************************************
-C...PYRGET
-C...Dumps the state of the random number generator on a file
-C...for subsequent startup from this state onwards.
-      SUBROUTINE PYRGET(LFN,MOVE)
-C...Double precision and integer declarations.
-      IMPLICIT DOUBLE PRECISION(A-H, O-Z)
-      IMPLICIT INTEGER(I-N)
-      INTEGER PYK,PYCHGE,PYCOMP
-C...Commonblocks.
-      COMMON/PYDATR/MRPY(6),RRPY(100)
-      SAVE /PYDATR/
-C...Local character variable.
-      CHARACTER CHERR*8
-C...Backspace required number of records (or as many as there are).
-      IF(MOVE.LT.0) THEN
-        NBCK=MIN(MRPY(6),-MOVE)
-        DO 100 IBCK=1,NBCK
-          BACKSPACE(LFN,ERR=110,IOSTAT=IERR)
-  100   CONTINUE
-        MRPY(6)=MRPY(6)-NBCK
-      ENDIF
-C...Unformatted write on unit LFN.
-      WRITE(LFN,ERR=110,IOSTAT=IERR) (MRPY(I1),I1=1,5),
-     &(RRPY(I2),I2=1,100)
-      MRPY(6)=MRPY(6)+1
-      RETURN
-C...Write error.
-  110 WRITE(CHERR,'(I8)') IERR
-      CALL PYERRM(18,'(PYRGET:) error when accessing file, IOSTAT ='//
-     &CHERR)
-      RETURN
-      END
-C*********************************************************************
-C...PYRSET
-C...Reads a state of the random number generator from a file
-C...for subsequent generation from this state onwards.
-      SUBROUTINE PYRSET(LFN,MOVE)
-C...Double precision and integer declarations.
-      IMPLICIT DOUBLE PRECISION(A-H, O-Z)
-      IMPLICIT INTEGER(I-N)
-      INTEGER PYK,PYCHGE,PYCOMP
-C...Commonblocks.
-      COMMON/PYDATR/MRPY(6),RRPY(100)
-      SAVE /PYDATR/
-C...Local character variable.
-      CHARACTER CHERR*8
-C...Backspace required number of records (or as many as there are).
-      IF(MOVE.LT.0) THEN
-        NBCK=MIN(MRPY(6),-MOVE)
-        DO 100 IBCK=1,NBCK
-          BACKSPACE(LFN,ERR=120,IOSTAT=IERR)
-  100   CONTINUE
-        MRPY(6)=MRPY(6)-NBCK
-      ENDIF
-C...Unformatted read from unit LFN.
-      NFOR=1+MAX(0,MOVE)
-      DO 110 IFOR=1,NFOR
-        READ(LFN,ERR=120,IOSTAT=IERR) (MRPY(I1),I1=1,5),
-     &  (RRPY(I2),I2=1,100)
-  110 CONTINUE
-      MRPY(6)=MRPY(6)+NFOR
-      RETURN
-C...Write error.
-  120 WRITE(CHERR,'(I8)') IERR
-      CALL PYERRM(18,'(PYRSET:) error when accessing file, IOSTAT ='//
-     &CHERR)
-      RETURN
-      END
+*C*********************************************************************
+* 
+*C...PYR
+*C...Generates random numbers uniformly distributed between
+*C...0 and 1, excluding the endpoints.
+* 
+*      FUNCTION PYR(IDUMMY)
+* 
+*C...Double precision and integer declarations.
+*      IMPLICIT DOUBLE PRECISION(A-H, O-Z)
+*      IMPLICIT INTEGER(I-N)
+*      INTEGER PYK,PYCHGE,PYCOMP
+*C...Commonblocks.
+*      COMMON/PYDATR/MRPY(6),RRPY(100)
+*      SAVE /PYDATR/
+*C...Equivalence between commonblock and local variables.
+*      EQUIVALENCE (MRPY1,MRPY(1)),(MRPY2,MRPY(2)),(MRPY3,MRPY(3)),
+*     &(MRPY4,MRPY(4)),(MRPY5,MRPY(5)),(MRPY6,MRPY(6)),
+*     &(RRPY98,RRPY(98)),(RRPY99,RRPY(99)),(RRPY00,RRPY(100))
+* 
+*C...Initialize generation from given seed.
+*      IF(MRPY2.EQ.0) THEN
+*        IJ=MOD(MRPY1/30082,31329)
+*        KL=MOD(MRPY1,30082)
+*        I=MOD(IJ/177,177)+2
+*        J=MOD(IJ,177)+2
+*        K=MOD(KL/169,178)+1
+*        L=MOD(KL,169)
+*        DO 110 II=1,97
+*          S=0D0
+*          T=0.5D0
+*          DO 100 JJ=1,48
+*            M=MOD(MOD(I*J,179)*K,179)
+*            I=J
+*            J=K
+*            K=M
+*            L=MOD(53*L+1,169)
+*            IF(MOD(L*M,64).GE.32) S=S+T
+*            T=0.5D0*T
+*  100     CONTINUE
+*          RRPY(II)=S
+*  110   CONTINUE
+*        TWOM24=1D0
+*        DO 120 I24=1,24
+*          TWOM24=0.5D0*TWOM24
+*  120   CONTINUE
+*        RRPY98=362436D0*TWOM24
+*        RRPY99=7654321D0*TWOM24
+*        RRPY00=16777213D0*TWOM24
+*        MRPY2=1
+*        MRPY3=0
+*        MRPY4=97
+*        MRPY5=33
+*      ENDIF
+* 
+*C...Generate next random number.
+*  130 RUNI=RRPY(MRPY4)-RRPY(MRPY5)
+*      IF(RUNI.LT.0D0) RUNI=RUNI+1D0
+*      RRPY(MRPY4)=RUNI
+*      MRPY4=MRPY4-1
+*      IF(MRPY4.EQ.0) MRPY4=97
+*      MRPY5=MRPY5-1
+*      IF(MRPY5.EQ.0) MRPY5=97
+*      RRPY98=RRPY98-RRPY99
+*      IF(RRPY98.LT.0D0) RRPY98=RRPY98+RRPY00
+*      RUNI=RUNI-RRPY98
+*      IF(RUNI.LT.0D0) RUNI=RUNI+1D0
+*      IF(RUNI.LE.0D0.OR.RUNI.GE.1D0) GOTO 130
+* 
+*C...Update counters. Random number to output.
+*      MRPY3=MRPY3+1
+*      IF(MRPY3.EQ.1000000000) THEN
+*        MRPY2=MRPY2+1
+*        MRPY3=0
+*      ENDIF
+*      PYR=RUNI
+* 
+*      RETURN
+*      END
+* 
+*C*********************************************************************
+* 
+*C...PYRGET
+*C...Dumps the state of the random number generator on a file
+*C...for subsequent startup from this state onwards.
+* 
+*      SUBROUTINE PYRGET(LFN,MOVE)
+* 
+*C...Double precision and integer declarations.
+*      IMPLICIT DOUBLE PRECISION(A-H, O-Z)
+*      IMPLICIT INTEGER(I-N)
+*      INTEGER PYK,PYCHGE,PYCOMP
+*C...Commonblocks.
+*      COMMON/PYDATR/MRPY(6),RRPY(100)
+*      SAVE /PYDATR/
+*C...Local character variable.
+*      CHARACTER CHERR*8
+* 
+*C...Backspace required number of records (or as many as there are).
+*      IF(MOVE.LT.0) THEN
+*        NBCK=MIN(MRPY(6),-MOVE)
+*        DO 100 IBCK=1,NBCK
+*          BACKSPACE(LFN,ERR=110,IOSTAT=IERR)
+*  100   CONTINUE
+*        MRPY(6)=MRPY(6)-NBCK
+*      ENDIF
+* 
+*C...Unformatted write on unit LFN.
+*      WRITE(LFN,ERR=110,IOSTAT=IERR) (MRPY(I1),I1=1,5),
+*     &(RRPY(I2),I2=1,100)
+*      MRPY(6)=MRPY(6)+1
+*      RETURN
+* 
+*C...Write error.
+*  110 WRITE(CHERR,'(I8)') IERR
+*      CALL PYERRM(18,'(PYRGET:) error when accessing file, IOSTAT ='//
+*     &CHERR)
+* 
+*      RETURN
+*      END
+* 
+*C*********************************************************************
+* 
+*C...PYRSET
+*C...Reads a state of the random number generator from a file
+*C...for subsequent generation from this state onwards.
+* 
+*      SUBROUTINE PYRSET(LFN,MOVE)
+* 
+*C...Double precision and integer declarations.
+*      IMPLICIT DOUBLE PRECISION(A-H, O-Z)
+*      IMPLICIT INTEGER(I-N)
+*      INTEGER PYK,PYCHGE,PYCOMP
+*C...Commonblocks.
+*      COMMON/PYDATR/MRPY(6),RRPY(100)
+*      SAVE /PYDATR/
+*C...Local character variable.
+*      CHARACTER CHERR*8
+* 
+*C...Backspace required number of records (or as many as there are).
+*      IF(MOVE.LT.0) THEN
+*        NBCK=MIN(MRPY(6),-MOVE)
+*        DO 100 IBCK=1,NBCK
+*          BACKSPACE(LFN,ERR=120,IOSTAT=IERR)
+*  100   CONTINUE
+*        MRPY(6)=MRPY(6)-NBCK
+*      ENDIF
+* 
+*C...Unformatted read from unit LFN.
+*      NFOR=1+MAX(0,MOVE)
+*      DO 110 IFOR=1,NFOR
+*        READ(LFN,ERR=120,IOSTAT=IERR) (MRPY(I1),I1=1,5),
+*     &  (RRPY(I2),I2=1,100)
+*  110 CONTINUE
+*      MRPY(6)=MRPY(6)+NFOR
+*      RETURN
+* 
+*C...Write error.
+*  120 WRITE(CHERR,'(I8)') IERR
+*      CALL PYERRM(18,'(PYRSET:) error when accessing file, IOSTAT ='//
+*     &CHERR)
+* 
+*      RETURN
+*      END
+* 
 C*********************************************************************
  
 C...PYROBO