]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hijing1_36/hijcsc.F
Field maps for B = 0.2 T solenoid (L3).
[u/mrichter/AliRoot.git] / HIJING / hijing1_36 / hijcsc.F
CommitLineData
e74335a4 1* $Id$
2C
3C*******************************************************************
4C This subroutine performs elastic scatterings and possible
5C elastic cascading within their own nuclei
6c*******************************************************************
7 SUBROUTINE HIJCSC(JP,JT)
8 DIMENSION PSC1(5),PSC2(5)
9#include "hijcrdn.inc"
10#include "hiparnt.inc"
11#include "histrng.inc"
12 SAVE
13 IF(JP.EQ.0 .OR. JT.EQ.0) GO TO 25
14 DO 10 I=1,5
15 PSC1(I)=PP(JP,I)
16 PSC2(I)=PT(JT,I)
1710 CONTINUE
18 CALL HIJELS(PSC1,PSC2)
19 DPP1=PSC1(1)-PP(JP,1)
20 DPP2=PSC1(2)-PP(JP,2)
21 DPT1=PSC2(1)-PT(JT,1)
22 DPT2=PSC2(2)-PT(JT,2)
23 PP(JP,6)=PP(JP,6)+DPP1/2.0
24 PP(JP,7)=PP(JP,7)+DPP2/2.0
25 PP(JP,8)=PP(JP,8)+DPP1/2.0
26 PP(JP,9)=PP(JP,9)+DPP2/2.0
27 PT(JT,6)=PT(JT,6)+DPT1/2.0
28 PT(JT,7)=PT(JT,7)+DPT2/2.0
29 PT(JT,8)=PT(JT,8)+DPT1/2.0
30 PT(JT,9)=PT(JT,9)+DPT2/2.0
31 DO 20 I=1,4
32 PP(JP,I)=PSC1(I)
33 PT(JT,I)=PSC2(I)
3420 CONTINUE
35 NFP(JP,5)=MAX(1,NFP(JP,5))
36 NFT(JT,5)=MAX(1,NFT(JT,5))
37C ********Perform elastic scattering between JP and JT
38 RETURN
39C ********The following is for possible elastic cascade
40c
4125 IF(JP.EQ.0) GO TO 45
42 PABS=SQRT(PP(JP,1)**2+PP(JP,2)**2+PP(JP,3)**2)
43 BX=PP(JP,1)/PABS
44 BY=PP(JP,2)/PABS
45 BZ=PP(JP,3)/PABS
46 DO 40 I=1,IHNT2(1)
47 IF(I.EQ.JP) GO TO 40
48 DX=YP(1,I)-YP(1,JP)
49 DY=YP(2,I)-YP(2,JP)
50 DZ=YP(3,I)-YP(3,JP)
51 DIS=DX*BX+DY*BY+DZ*BZ
52 IF(DIS.LE.0) GO TO 40
53 BB=DX**2+DY**2+DZ**2-DIS**2
54 R2=BB*HIPR1(40)/HIPR1(31)/0.1
55C ********mb=0.1*fm, YP is in fm,HIPR1(31) is in mb
56 GS=1.0-EXP(-(HIPR1(30)+HINT1(11))/HIPR1(31)/2.0
57 & *ROMG(R2))**2
58 GS0=1.0-EXP(-(HIPR1(30)+HINT1(11))/HIPR1(31)/2.0
59 & *ROMG(0.0))**2
60 IF(RLU_HIJING(0).GT.GS/GS0) GO TO 40
61 DO 30 K=1,5
62 PSC1(K)=PP(JP,K)
63 PSC2(K)=PP(I,K)
6430 CONTINUE
65 CALL HIJELS(PSC1,PSC2)
66 DPP1=PSC1(1)-PP(JP,1)
67 DPP2=PSC1(2)-PP(JP,2)
68 DPT1=PSC2(1)-PP(I,1)
69 DPT2=PSC2(2)-PP(I,2)
70 PP(JP,6)=PP(JP,6)+DPP1/2.0
71 PP(JP,7)=PP(JP,7)+DPP2/2.0
72 PP(JP,8)=PP(JP,8)+DPP1/2.0
73 PP(JP,9)=PP(JP,9)+DPP2/2.0
74 PP(I,6)=PP(I,6)+DPT1/2.0
75 PP(I,7)=PP(I,7)+DPT2/2.0
76 PP(I,8)=PP(I,8)+DPT1/2.0
77 PP(I,9)=PP(I,9)+DPT2/2.0
78 DO 35 K=1,5
79 PP(JP,K)=PSC1(K)
80 PP(I,K)=PSC2(K)
8135 CONTINUE
82 NFP(I,5)=MAX(1,NFP(I,5))
83 GO TO 45
8440 CONTINUE
8545 IF(JT.EQ.0) GO TO 80
8650 PABS=SQRT(PT(JT,1)**2+PT(JT,2)**2+PT(JT,3)**2)
87 BX=PT(JT,1)/PABS
88 BY=PT(JT,2)/PABS
89 BZ=PT(JT,3)/PABS
90 DO 70 I=1,IHNT2(3)
91 IF(I.EQ.JT) GO TO 70
92 DX=YT(1,I)-YT(1,JT)
93 DY=YT(2,I)-YT(2,JT)
94 DZ=YT(3,I)-YT(3,JT)
95 DIS=DX*BX+DY*BY+DZ*BZ
96 IF(DIS.LE.0) GO TO 70
97 BB=DX**2+DY**2+DZ**2-DIS**2
98 R2=BB*HIPR1(40)/HIPR1(31)/0.1
99C ********mb=0.1*fm, YP is in fm,HIPR1(31) is in mb
100 GS=(1.0-EXP(-(HIPR1(30)+HINT1(11))/HIPR1(31)/2.0
101 & *ROMG(R2)))**2
102 GS0=(1.0-EXP(-(HIPR1(30)+HINT1(11))/HIPR1(31)/2.0
103 & *ROMG(0.0)))**2
104 IF(RLU_HIJING(0).GT.GS/GS0) GO TO 70
105 DO 60 K=1,5
106 PSC1(K)=PT(JT,K)
107 PSC2(K)=PT(I,K)
10860 CONTINUE
109 CALL HIJELS(PSC1,PSC2)
110 DPP1=PSC1(1)-PT(JT,1)
111 DPP2=PSC1(2)-PT(JT,2)
112 DPT1=PSC2(1)-PT(I,1)
113 DPT2=PSC2(2)-PT(I,2)
114 PT(JT,6)=PT(JT,6)+DPP1/2.0
115 PT(JT,7)=PT(JT,7)+DPP2/2.0
116 PT(JT,8)=PT(JT,8)+DPP1/2.0
117 PT(JT,9)=PT(JT,9)+DPP2/2.0
118 PT(I,6)=PT(I,6)+DPT1/2.0
119 PT(I,7)=PT(I,7)+DPT2/2.0
120 PT(I,8)=PT(I,8)+DPT1/2.0
121 PT(I,9)=PT(I,9)+DPT2/2.0
122 DO 65 K=1,5
123 PT(JT,K)=PSC1(K)
124 PT(I,K)=PSC2(K)
12565 CONTINUE
126 NFT(I,5)=MAX(1,NFT(I,5))
127 GO TO 80
12870 CONTINUE
12980 RETURN
130 END