]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HIJING/hijing1_36/attrad.F
c Version 1.382
[u/mrichter/AliRoot.git] / HIJING / hijing1_36 / attrad.F
1 * $Id$
2
3 C
4 C
5 C
6 C****************************************************************
7 C       conduct soft radiation according to dipole approxiamtion
8 C****************************************************************
9         SUBROUTINE ATTRAD(IERROR)
10 C
11 #define BLANKET_SAVE
12 #include "hiparnt.inc"
13 #include "hijdat.inc"
14 #include "lujets_hijing.inc"
15         SAVE
16         IERROR=0
17
18 C.....S INVARIANT MASS-SQUARED BETWEEN PARTONS I AND I+1......
19 C.....SM IS THE LARGEST MASS-SQUARED....
20
21 40      SM=0.
22         JL = 1
23         DO 30 I=1,N-1
24            S=2.*(P(I,4)*P(I+1,4)-P(I,1)*P(I+1,1)-P(I,2)*P(I+1,2)
25      &          -P(I,3)*P(I+1,3))+P(I,5)**2+P(I+1,5)**2
26            IF(S.LT.0.) S=0.
27            WP=SQRT(S)-1.5*(P(I,5)+P(I+1,5))
28            IF(WP.GT.SM) THEN
29               PBT1=P(I,1)+P(I+1,1)
30               PBT2=P(I,2)+P(I+1,2)
31               PBT3=P(I,3)+P(I+1,3)
32               PBT4=P(I,4)+P(I+1,4)
33               BTT=(PBT1**2+PBT2**2+PBT3**2)/PBT4**2
34               IF(BTT.GE.1.0-1.0E-10) GO TO 30
35               IF((I.NE.1.OR.I.NE.N-1).AND.
36      &             (K(I,2).NE.21.AND.K(I+1,2).NE.21)) GO TO 30
37               JL=I
38               SM=WP
39            ENDIF
40 30      CONTINUE
41         S=(SM+1.5*(P(JL,5)+P(JL+1,5)))**2
42         IF(SM.LT.HIPR1(5)) GOTO 2
43      
44 C.....MAKE PLACE FOR ONE GLUON.....
45         IF(JL+1.EQ.N) GOTO 190
46         DO 160 J=N,JL+2,-1
47                 K(J+1,1)=K(J,1)
48                 K(J+1,2)=K(J,2)
49                 DO 150 M=1,5
50 150                     P(J+1,M)=P(J,M)
51 160             CONTINUE
52 190     N=N+1
53      
54 C.....BOOST TO REST SYSTEM FOR PARTICLES JL AND JL+1.....
55         P1=P(JL,1)+P(JL+1,1)
56         P2=P(JL,2)+P(JL+1,2)
57         P3=P(JL,3)+P(JL+1,3)
58         P4=P(JL,4)+P(JL+1,4)
59         BEX=-P1/P4
60         BEY=-P2/P4
61         BEZ=-P3/P4
62         IMIN=JL
63         IMAX=JL+1
64         CALL ATROBO(0.,0.,BEX,BEY,BEZ,IMIN,IMAX,IERROR)
65         IF(IERROR.NE.0) RETURN
66 C.....ROTATE TO Z-AXIS....
67         PABS=(P(JL,4)-P(JL,5))*(P(JL,4)+P(JL,5))
68         IF (PABS .GT. 0) THEN
69           CTH=P(JL,3)/SQRT(PABS)
70         ELSE
71           CTH=SIGN(1.,P(JL,3))
72         ENDIF
73         IF(ABS(CTH).GT.1.0)  CTH=MAX(-1.,MIN(1.,CTH))
74         THETA=ACOS(CTH)
75         PHI=ULANGL_HIJING(P(JL,1),P(JL,2))
76         CALL ATROBO(0.,-PHI,0.,0.,0.,IMIN,IMAX,IERROR)
77         CALL ATROBO(-THETA,0.,0.,0.,0.,IMIN,IMAX,IERROR)
78      
79 C.....CREATE ONE GLUON AND ORIENTATE.....
80      
81 1       CALL AR3JET(S,X1,X3,JL)
82         CALL ARORIE(S,X1,X3,JL)         
83         IF(HIDAT(2).GT.0.0) THEN
84            PTG1=SQRT(P(JL,1)**2+P(JL,2)**2)
85            PTG2=SQRT(P(JL+1,1)**2+P(JL+1,2)**2)
86            PTG3=SQRT(P(JL+2,1)**2+P(JL+2,2)**2)
87            PTG=MAX(PTG1,PTG2,PTG3)
88            IF(PTG.GT.HIDAT(2)) THEN
89               FMFACT=EXP(-(PTG**2-HIDAT(2)**2)/HIPR1(2)**2)
90               IF(RLU_HIJING(0).GT.FMFACT) GO TO 1
91            ENDIF
92         ENDIF
93 C.....ROTATE AND BOOST BACK.....
94         IMIN=JL
95         IMAX=JL+2
96         CALL ATROBO(THETA,PHI,-BEX,-BEY,-BEZ,IMIN,IMAX,IERROR)
97         IF(IERROR.NE.0) RETURN
98 C.....ENUMERATE THE GLUONS.....
99         K(JL+2,1)=K(JL+1,1)
100         K(JL+2,2)=K(JL+1,2)
101         K(JL+2,3)=K(JL+1,3)
102         K(JL+2,4)=K(JL+1,4)
103         K(JL+2,5)=K(JL+1,5)
104         P(JL+2,5)=P(JL+1,5)
105         K(JL+1,1)=2
106         K(JL+1,2)=21
107         K(JL+1,3)=0
108         K(JL+1,4)=0
109         K(JL+1,5)=0
110         P(JL+1,5)=0.
111 C----THETA FUNCTION DAMPING OF THE EMITTED GLUONS. FOR HADRON-HADRON.
112 C----R0=VFR(2)
113 C       IF(VFR(2).GT.0.) THEN
114 C       PTG=SQRT(P(JL+1,1)**2+P(JL+1,2)**2)
115 C       PTGMAX=WSTRI/2.
116 C       DOPT=SQRT((4.*PAR(71)*VFR(2))/WSTRI)
117 C       PTOPT=(DOPT*WSTRI)/(2.*VFR(2))
118 C       IF(PTG.GT.PTOPT) IORDER=IORDER-1
119 C       IF(PTG.GT.PTOPT) GOTO 1
120 C       ENDIF
121 C-----
122         IF(SM.GE.HIPR1(5)) GOTO 40
123
124 2       K(1,1)=2
125         K(1,3)=0
126         K(1,4)=0
127         K(1,5)=0
128         K(N,1)=1
129         K(N,3)=0
130         K(N,4)=0
131         K(N,5)=0
132
133         RETURN
134         END