]>
Commit | Line | Data |
---|---|---|
e74335a4 | 1 | * $Id$ |
2 | C | |
3 | C | |
4 | C | |
5 | SUBROUTINE HIJSET(EFRM,FRAME,PROJ,TARG,IAP,IZP,IAT,IZT) | |
6 | CHARACTER FRAME*4,PROJ*4,TARG*4,EFRAME*4 | |
7 | DOUBLE PRECISION DD1,DD2,DD3,DD4 | |
8 | #include "histrng.inc" | |
9 | #include "hijcrdn.inc" | |
10 | #include "hiparnt.inc" | |
11 | #include "hijdat.inc" | |
12 | #include "ludat1_hijing.inc" | |
13 | EXTERNAL FNKICK,FNKICK2,FNSTRU,FNSTRUM,FNSTRUS | |
14 | SAVE | |
15 | CALL TITLE | |
16 | IHNT2(1)=IAP | |
17 | IHNT2(2)=IZP | |
18 | IHNT2(3)=IAT | |
19 | IHNT2(4)=IZT | |
20 | IHNT2(5)=0 | |
21 | IHNT2(6)=0 | |
22 | C | |
23 | HINT1(8)=MAX(ULMASS_HIJING(2112),ULMASS_HIJING(2212)) | |
24 | HINT1(9)=HINT1(8) | |
25 | C | |
26 | IF(PROJ.NE.'A') THEN | |
27 | IF(PROJ.EQ.'P') THEN | |
28 | IHNT2(5)=2212 | |
29 | ELSE IF(PROJ.EQ.'PBAR') THEN | |
30 | IHNT2(5)=-2212 | |
31 | ELSE IF(PROJ.EQ.'PI+') THEN | |
32 | IHNT2(5)=211 | |
33 | ELSE IF(PROJ.EQ.'PI-') THEN | |
34 | IHNT2(5)=-211 | |
35 | ELSE IF(PROJ.EQ.'K+') THEN | |
36 | IHNT2(5)=321 | |
37 | ELSE IF(PROJ.EQ.'K-') THEN | |
38 | IHNT2(5)=-321 | |
39 | ELSE IF(PROJ.EQ.'N') THEN | |
40 | IHNT2(5)=2112 | |
41 | ELSE IF(PROJ.EQ.'NBAR') THEN | |
42 | IHNT2(5)=-2112 | |
43 | ELSE | |
44 | WRITE(6,*) PROJ, 'wrong or unavailable proj name' | |
45 | STOP | |
46 | ENDIF | |
47 | HINT1(8)=ULMASS_HIJING(IHNT2(5)) | |
48 | ENDIF | |
49 | IF(TARG.NE.'A') THEN | |
50 | IF(TARG.EQ.'P') THEN | |
51 | IHNT2(6)=2212 | |
52 | ELSE IF(TARG.EQ.'PBAR') THEN | |
53 | IHNT2(6)=-2212 | |
54 | ELSE IF(TARG.EQ.'PI+') THEN | |
55 | IHNT2(6)=211 | |
56 | ELSE IF(TARG.EQ.'PI-') THEN | |
57 | IHNT2(6)=-211 | |
58 | ELSE IF(TARG.EQ.'K+') THEN | |
59 | IHNT2(6)=321 | |
60 | ELSE IF(TARG.EQ.'K-') THEN | |
61 | IHNT2(6)=-321 | |
62 | ELSE IF(TARG.EQ.'N') THEN | |
63 | IHNT2(6)=2112 | |
64 | ELSE IF(TARG.EQ.'NBAR') THEN | |
65 | IHNT2(6)=-2112 | |
66 | ELSE | |
67 | WRITE(6,*) TARG,'wrong or unavailable targ name' | |
68 | STOP | |
69 | ENDIF | |
70 | HINT1(9)=ULMASS_HIJING(IHNT2(6)) | |
71 | ENDIF | |
72 | ||
73 | C...Switch off decay of pi0, K0S, Lambda, Sigma+-, Xi0-, Omega-. | |
74 | IF(IHPR2(12).GT.0) THEN | |
75 | CALL LUGIVE_HIJING('MDCY(C111,1)=0') | |
76 | CALL LUGIVE_HIJING('MDCY(C310,1)=0') | |
77 | CALL LUGIVE_HIJING('MDCY(C411,1)=0;MDCY(C-411,1)=0') | |
78 | CALL LUGIVE_HIJING('MDCY(C421,1)=0;MDCY(C-421,1)=0') | |
79 | CALL LUGIVE_HIJING('MDCY(C431,1)=0;MDCY(C-431,1)=0') | |
80 | CALL LUGIVE_HIJING('MDCY(C511,1)=0;MDCY(C-511,1)=0') | |
81 | CALL LUGIVE_HIJING('MDCY(C521,1)=0;MDCY(C-521,1)=0') | |
82 | CALL LUGIVE_HIJING('MDCY(C531,1)=0;MDCY(C-531,1)=0') | |
83 | CALL LUGIVE_HIJING('MDCY(C3122,1)=0;MDCY(C-3122,1)=0') | |
84 | CALL LUGIVE_HIJING('MDCY(C3112,1)=0;MDCY(C-3112,1)=0') | |
85 | CALL LUGIVE_HIJING('MDCY(C3212,1)=0;MDCY(C-3212,1)=0') | |
86 | CALL LUGIVE_HIJING('MDCY(C3222,1)=0;MDCY(C-3222,1)=0') | |
87 | CALL LUGIVE_HIJING('MDCY(C3312,1)=0;MDCY(C-3312,1)=0') | |
88 | CALL LUGIVE_HIJING('MDCY(C3322,1)=0;MDCY(C-3322,1)=0') | |
89 | CALL LUGIVE_HIJING('MDCY(C3334,1)=0;MDCY(C-3334,1)=0') | |
90 | ENDIF | |
91 | MSTU(12)=0 | |
92 | MSTU(21)=1 | |
93 | IF(IHPR2(10).EQ.0) THEN | |
94 | MSTU(22)=0 | |
95 | MSTU(25)=0 | |
96 | MSTU(26)=0 | |
97 | ENDIF | |
98 | MSTJ(12)=IHPR2(11) | |
99 | PARJ(21)=HIPR1(2) | |
100 | PARJ(41)=HIPR1(3) | |
101 | PARJ(42)=HIPR1(4) | |
102 | C ******** set up for jetset | |
103 | IF(FRAME.EQ.'LAB') THEN | |
104 | DD1=EFRM | |
105 | DD2=HINT1(8) | |
106 | DD3=HINT1(9) | |
107 | HINT1(1)=SQRT(HINT1(8)**2+2.0*HINT1(9)*EFRM+HINT1(9)**2) | |
108 | DD4=DSQRT(DD1**2-DD2**2)/(DD1+DD3) | |
109 | HINT1(2)=DD4 | |
110 | HINT1(3)=0.5*DLOG((1.D0+DD4)/(1.D0-DD4)) | |
111 | DD4=DSQRT(DD1**2-DD2**2)/DD1 | |
112 | HINT1(4)=0.5*DLOG((1.D0+DD4)/(1.D0-DD4)) | |
113 | HINT1(5)=0.0 | |
114 | HINT1(6)=EFRM | |
115 | HINT1(7)=HINT1(9) | |
116 | ELSE IF(FRAME.EQ.'CMS') THEN | |
117 | HINT1(1)=EFRM | |
118 | HINT1(2)=0.0 | |
119 | HINT1(3)=0.0 | |
120 | DD1=HINT1(1) | |
121 | DD2=HINT1(8) | |
122 | DD3=HINT1(9) | |
123 | DD4=DSQRT(1.D0-4.D0*DD2**2/DD1**2) | |
124 | HINT1(4)=0.5*DLOG((1.D0+DD4)/(1.D0-DD4)) | |
125 | DD4=DSQRT(1.D0-4.D0*DD3**2/DD1**2) | |
126 | HINT1(5)=-0.5*DLOG((1.D0+DD4)/(1.D0-DD4)) | |
127 | HINT1(6)=HINT1(1)/2.0 | |
128 | HINT1(7)=HINT1(1)/2.0 | |
129 | ENDIF | |
130 | C ********define Lorentz transform to lab frame | |
131 | c | |
132 | C ********calculate the cross sections involved with | |
133 | C nucleon collisions. | |
134 | IF(IHNT2(1).GT.1) THEN | |
135 | CALL HIJWDS(IHNT2(1),1,RMAX) | |
136 | HIPR1(34)=RMAX | |
137 | C ********set up Wood-Sax distr for proj. | |
138 | ENDIF | |
139 | IF(IHNT2(3).GT.1) THEN | |
140 | CALL HIJWDS(IHNT2(3),2,RMAX) | |
141 | HIPR1(35)=RMAX | |
142 | C ********set up Wood-Sax distr for targ. | |
143 | ENDIF | |
144 | C | |
145 | C | |
146 | I=0 | |
147 | 20 I=I+1 | |
148 | IF(I.EQ.10) GO TO 30 | |
149 | IF(HIDAT0(10,I).LE.HINT1(1)) GO TO 20 | |
150 | 30 IF(I.EQ.1) I=2 | |
151 | DO 40 J=1,9 | |
152 | HIDAT(J)=HIDAT0(J,I-1)+(HIDAT0(J,I)-HIDAT0(J,I-1)) | |
153 | & *(HINT1(1)-HIDAT0(10,I-1))/(HIDAT0(10,I)-HIDAT0(10,I-1)) | |
154 | 40 CONTINUE | |
155 | HIPR1(31)=HIDAT(5) | |
156 | HIPR1(30)=2.0*HIDAT(5) | |
157 | C | |
158 | C | |
159 | CALL HIJCRS | |
160 | C | |
161 | IF(IHPR2(5).NE.0) THEN | |
162 | CALL HIFUN(3,0.0,36.0,FNKICK) | |
163 | C ********booking for generating pt**2 for pt kick | |
164 | ENDIF | |
165 | CALL HIFUN(7,0.0,6.0,FNKICK2) | |
166 | CALL HIFUN(4,0.0,1.0,FNSTRU) | |
167 | CALL HIFUN(5,0.0,1.0,FNSTRUM) | |
168 | CALL HIFUN(6,0.0,1.0,FNSTRUS) | |
169 | C ********booking for x distribution of valence quarks | |
170 | EFRAME='Ecm' | |
171 | IF(FRAME.EQ.'LAB') EFRAME='Elab' | |
172 | WRITE(6,100) EFRAME,EFRM,PROJ,IHNT2(1),IHNT2(2), | |
173 | & TARG,IHNT2(3),IHNT2(4) | |
7aae3926 | 174 | 100 FORMAT(//10X,'**************************************************'/ |
e74335a4 | 175 | & 10X,'*',48X,'*'/ |
176 | & 10X,'* HIJING has been initialized at *'/ | |
177 | & 10X,'*',13X,A4,'= ',F10.2,' GeV/n',13X,'*'/ | |
178 | & 10X,'*',48X,'*'/ | |
179 | & 10X,'*',8X,'for ', | |
180 | & A4,'(',I3,',',I3,')',' + ',A4,'(',I3,',',I3,')',7X,'*'/ | |
181 | & 10X,'**************************************************') | |
182 | RETURN | |
183 | END |