File indexing completed on 2025-08-05 08:21:08
0001
0002
0003
0004
0005
0006
0007 SUBROUTINE PY1ENT(IP,KF,PE,THE,PHI)
0008
0009
0010 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0011 IMPLICIT INTEGER(I-N)
0012 INTEGER PYK,PYCHGE,PYCOMP
0013
0014 COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5)
0015 COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0016 COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0017 SAVE /PYJETS/,/PYDAT1/,/PYDAT2/
0018
0019
0020 MSTU(28)=0
0021 IF(MSTU(12).NE.12345) CALL PYLIST(0)
0022 IPA=MAX(1,IABS(IP))
0023 IF(IPA.GT.MSTU(4)) CALL PYERRM(21,
0024 &'(PY1ENT:) writing outside PYJETS memory')
0025 KC=PYCOMP(KF)
0026 IF(KC.EQ.0) CALL PYERRM(12,'(PY1ENT:) unknown flavour code')
0027
0028
0029 PM=0D0
0030 IF(MSTU(10).EQ.1) PM=P(IPA,5)
0031 IF(MSTU(10).GE.2) PM=PYMASS(KF)
0032 DO 100 J=1,5
0033 K(IPA,J)=0
0034 P(IPA,J)=0D0
0035 V(IPA,J)=0D0
0036 100 CONTINUE
0037
0038
0039 K(IPA,1)=1
0040 IF(IP.LT.0) K(IPA,1)=2
0041 K(IPA,2)=KF
0042 P(IPA,5)=PM
0043 P(IPA,4)=MAX(PE,PM)
0044 PA=SQRT(P(IPA,4)**2-P(IPA,5)**2)
0045 P(IPA,1)=PA*SIN(THE)*COS(PHI)
0046 P(IPA,2)=PA*SIN(THE)*SIN(PHI)
0047 P(IPA,3)=PA*COS(THE)
0048
0049
0050 N=IPA
0051 IF(IP.EQ.0) CALL PYEXEC
0052
0053 RETURN
0054 END