+++ /dev/null
-
-C*********************************************************************
-
- SUBROUTINE PYFRAM(IFRAME)
-
-C...Performs transformations between different coordinate frames.
- COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
- COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
- COMMON/PYINT1/MINT(400),VINT(400)
- SAVE /LUDAT1/
- SAVE /PYPARS/,/PYINT1/
-
-C...Check that transformation can and should be done.
- IF(IFRAME.EQ.1.OR.IFRAME.EQ.2.OR.(IFRAME.EQ.3.AND.
- &MINT(91).EQ.1)) THEN
- IF(IFRAME.EQ.MINT(6)) RETURN
- ELSE
- WRITE(MSTU(11),5000) IFRAME,MINT(6)
- RETURN
- ENDIF
-
- IF(MINT(6).EQ.1) THEN
-C...Transform from fixed target or user specified frame to
-C...overall CM frame.
- CALL LUROBO(0.,0.,-VINT(8),-VINT(9),-VINT(10))
- CALL LUROBO(0.,-VINT(7),0.,0.,0.)
- CALL LUROBO(-VINT(6),0.,0.,0.,0.)
- ELSEIF(MINT(6).EQ.3) THEN
-C...Transform from hadronic CM frame in DIS to overall CM frame.
- CALL LUROBO(-VINT(221),-VINT(222),-VINT(223),-VINT(224),
- & -VINT(225))
- ENDIF
-
- IF(IFRAME.EQ.1) THEN
-C...Transform from overall CM frame to fixed target or user specified
-C...frame.
- CALL LUROBO(VINT(6),VINT(7),VINT(8),VINT(9),VINT(10))
- ELSEIF(IFRAME.EQ.3) THEN
-C...Transform from overall CM frame to hadronic CM frame in DIS.
- CALL LUROBO(0.,0.,VINT(223),VINT(224),VINT(225))
- CALL LUROBO(0.,VINT(222),0.,0.,0.)
- CALL LUROBO(VINT(221),0.,0.,0.,0.)
- ENDIF
-
-C...Set information about new frame.
- MINT(6)=IFRAME
- MSTI(6)=IFRAME
-
- 5000 FORMAT(1X,'Error: illegal values in subroutine PYFRAM.',1X,
- &'No transformation performed.'/1X,'IFRAME =',1X,I5,'; MINT(6) =',
- &1X,I5)
-
- RETURN
- END