]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PYTHIA/pythia/pyfram.F
Coding convention rules obeyed
[u/mrichter/AliRoot.git] / PYTHIA / pythia / pyfram.F
CommitLineData
fe4da5cc 1
2C*********************************************************************
3
4 SUBROUTINE PYFRAM(IFRAME)
5
6C...Performs transformations between different coordinate frames.
7 COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
8 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
9 COMMON/PYINT1/MINT(400),VINT(400)
10 SAVE /LUDAT1/
11 SAVE /PYPARS/,/PYINT1/
12
13C...Check that transformation can and should be done.
14 IF(IFRAME.EQ.1.OR.IFRAME.EQ.2.OR.(IFRAME.EQ.3.AND.
15 &MINT(91).EQ.1)) THEN
16 IF(IFRAME.EQ.MINT(6)) RETURN
17 ELSE
18 WRITE(MSTU(11),5000) IFRAME,MINT(6)
19 RETURN
20 ENDIF
21
22 IF(MINT(6).EQ.1) THEN
23C...Transform from fixed target or user specified frame to
24C...overall CM frame.
25 CALL LUROBO(0.,0.,-VINT(8),-VINT(9),-VINT(10))
26 CALL LUROBO(0.,-VINT(7),0.,0.,0.)
27 CALL LUROBO(-VINT(6),0.,0.,0.,0.)
28 ELSEIF(MINT(6).EQ.3) THEN
29C...Transform from hadronic CM frame in DIS to overall CM frame.
30 CALL LUROBO(-VINT(221),-VINT(222),-VINT(223),-VINT(224),
31 & -VINT(225))
32 ENDIF
33
34 IF(IFRAME.EQ.1) THEN
35C...Transform from overall CM frame to fixed target or user specified
36C...frame.
37 CALL LUROBO(VINT(6),VINT(7),VINT(8),VINT(9),VINT(10))
38 ELSEIF(IFRAME.EQ.3) THEN
39C...Transform from overall CM frame to hadronic CM frame in DIS.
40 CALL LUROBO(0.,0.,VINT(223),VINT(224),VINT(225))
41 CALL LUROBO(0.,VINT(222),0.,0.,0.)
42 CALL LUROBO(VINT(221),0.,0.,0.,0.)
43 ENDIF
44
45C...Set information about new frame.
46 MINT(6)=IFRAME
47 MSTI(6)=IFRAME
48
49 5000 FORMAT(1X,'Error: illegal values in subroutine PYFRAM.',1X,
50 &'No transformation performed.'/1X,'IFRAME =',1X,I5,'; MINT(6) =',
51 &1X,I5)
52
53 RETURN
54 END