]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FEMTOSCOPY/AliFemto/AliFemtoFsiWeightLednicky.F
Lines getting the matched track moved to a method in AliCalorimeterUtils. Lines copie...
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoFsiWeightLednicky.F
CommitLineData
37e4484e 1c 1 2 3 4 5 6 7 8
2c---------|---------|---------|---------|---------|---------|---------|---------|
3*-- Author : R.Lednicky 20/01/95
4 SUBROUTINE FSIW(J,WEIF,WEI,WEIN)
5
6C=======================================================================
7C Calculates final state interaction (FSI) weights
8C WEIF = weight due to particle - (effective) nucleus FSI (p-N)
9C WEI = weight due to p-p-N FSI
10C WEIN = weight due to p-p FSI; note that WEIN=WEI if I3C=0;
11C note that if I3C=1 the calculation of
12C WEIN can be skipped by putting J=0
13C.......................................................................
14C Correlation Functions:
15C CF(p-p-N) = sum(WEI)/sum(WEIF)
16C CF(p-p) = sum(WEIN)/sum(1); here the nucleus is completely
17C inactive
18C CF(p-p-"N") = sum(WEIN*WEIF')/sum(WEIF'), where WEIN and WEIF'
19C are not correlated (calculated at different emission
20C points, e.g., for different events);
21C thus here the nucleus affects one-particle
22C spectra but not the correlation
23C.......................................................................
24C User must supply data file <fn> on unit NUNIT (e.g. =11) specifying
25C LL : particle pair
26C NS : approximation used to calculate Bethe-Salpeter amplitude
27C ITEST: test switch
28C If ITEST=1 then also following parameters are required
29C ICH : 1(0) Coulomb interaction between the two particles ON (OFF)
30C IQS : 1(0) quantum statistics for the two particles ON (OFF)
31C ISI : 1(0) strong interaction between the two particles ON (OFF)
32C I3C : 1(0) Coulomb interaction with residual nucleus ON (OFF)
33C This data file can contain other information useful for the user.
34C It is read by subroutines READINT4 and READREA8(4) (or READ_FILE).
35C----------------------------------------------------------------------
36C- LL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
37C- part. 1: n p n a pi+ pi0 pi+ n p pi+ pi+ pi+ pi- K+ K+ K+ K-
38C- part. 2: n p p a pi- pi0 pi+ d d K- K+ p p K- K+ p p
39C NS=1 y/n: + + + + + - - - - - - - - - - - -
40C----------------------------------------------------------------------
41C- LL 18 19 20 21 22 23 24 25 26 27 28 29 30
42C- part. 1: d d t t K0 K0 d p p p n lam p
43C- part. 2: d a t a K0 K0b t t a lam lam lam pb
44C NS=1 y/n: - - - - - - - - - + + + -
45C----------------------------------------------------------------------
46C NS=1 Square well potential,
47C NS=3 not used
48C NS=4 scattered wave approximated by the spherical wave,
49C NS=2 same as NS=4 but the approx. of equal emission times in PRF
50C not required (t=0 approx. used in all other cases).
51C Note: if NS=2,4, the B-S amplitude diverges at zero distance r* in
52C the two-particle c.m.s.; user can specify a cutoff AA in
53C SUBROUTINE FSIINI, for example:
54C IF(NS.EQ.2.OR.NS.EQ.4)AA=5.D0 !! in 1/GeV --> AA=1. fm
55C---------------------------------------------------------------------
56C ITEST=1 any values of parameters ICH, IQS, ISI, I3C are allowed
57C and should be given in data file <fn>
58C ITEST=0 physical values of these parameters are put automatically
59C in FSIINI (their values are not required in data file)
60C=====================================================================
61C At the beginning of calculation user should call FSIINI,
62C which reads LL, NS, ITEST (and eventually ICH, IQS, ISI, I3C)
63C and initializes various parameters.
64C In particular the constants in
65C COMMON/FSI_CONS/PI,PI2,SPI,DR,W
66C may be useful for the user:
67C W=1/.1973D0 ! from fm to 1/GeV
68C PI=4*DATAN(1.D0)
69C PI2=2*PI
70C SPI=DSQRT(PI)
71C DR=180.D0/PI ! from radian to degree
72C _______________________________________________________
73C !! |Important note: all real quantities are assumed REAL*8 | !!
74C -------------------------------------------------------
75C For each event user should fill in the following information
76C in COMMONs (all COMMONs in FSI calculation start with FSI_):
77C ...................................................................
78C COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2
79C Only
80C AMN = mass of the effective nucleus [GeV/c**2]
81C CN = charge of the effective nucleus [elem. charge units]
82C are required
83C ...................................................................
84C COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in the rest frame
85C 1 P2X,P2Y,P2Z,E2,P2 !of effective nucleus (NRF)
86C Only the components
87C PiX,PiY,PiZ [GeV/c]
88C in NRF are required.
89C To make the corresponding Lorentz transformation user can use the
90C subroutines LTRAN and LTRANB
91C ...................................................................
92C COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emission
93C 1 X2,Y2,Z2,T2,R2 ! points in NRF
94C The componets
95C Xi,Yi,Zi [fm]
96C and emission times
97C Ti [fm/c]
98C should be given in NRF with the origin assumed at the center
99C of the effective nucleus. If the effect of residual nucleus is
100C not calculated within FSIW, the NRF can be any fixed frame.
101C-----------------------------------------------------------------------
102C Before calling FSIW the user must call
103C CALL LTRAN12
104C Besides Lorentz transformation to pair rest frame:
105C (p1-p2)/2 --> k* it also transforms 4-coordinates of
106C emission points from fm to 1/GeV and calculates Ei,Pi and Ri.
107C Note that |k*|=AK in COMMON/FSI_PRF/
108C-----------------------------------------------------------------------
109C After making some additional filtering using k* (say k* < k*max)
110C or direction of vector k*,
111C user can finally call FSIW to calculate the FSI weights
112C to be used to construct the correlation function
113C=======================================================================
114
115 IMPLICIT REAL*8 (A-H,O-Z)
116 COMMON/FSI_JR/JRAT
117 COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2
118 COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, ! particle momenta in NRF
119 1 P2X,P2Y,P2Z,E2,P2
120 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, ! k*=(p1-p2)/2 and x1-x2
121 1 X,Y,Z,T,RP,RPS ! in pair rest frame (PRF)
122 COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, !4-coord. of emis. points in NRF
123 1 X2,Y2,Z2,T2,R2
124 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
125 COMMON/FSI_FFPN/FF12,FF21
126 COMPLEX*16 FF12,FF21
127C------------------------------------------------------------------
128C==> AC1,2 = "relativistic" Bohr radii for particle-nucleus systems
129 C1N=C1*CN
130 IF(C1N.NE.0.D0)AC1=137.036D0/(C1N*E1) !m1-->E1
131 C2N=C2*CN
132 IF(C2N.NE.0.D0)AC2=137.036D0/(C2N*E2) !m2-->E2
133
134C-----------------------------------------------------------
135 CALL FSIPN(WEIF) !weight due to particle-nucleus FSI
136 JRAT=0
137 call BoostToPrf()
138 CALL FSIWF(WEI) !weight due to particle-particle-nucleus FSI
139 WEIN=WEI
140 IF(I3C*J.NE.0) THEN
141 FF12=DCMPLX(1.D0,0.D0)
142 FF21=DCMPLX(1.D0,0.D0)
143 JRAT=1
144 CALL VZ(WEIN) ! weight due to particle-particle FSI
145 ENDIF
146 RETURN
147 END
148C=======================================================================
149
150 SUBROUTINE LTRAN(P0,P,PS)
151C==>calculating particle 4-momentum PS={PSX,PSY,PSZ,ES}
152C in rest frame of a system 0 with 4-momentum P0={P0X,P0Y,P0Z,E0}
153C from its 4-momentum P={PX,PY,PZ,E}
154
155 IMPLICIT REAL*8 (A-H,O-Z)
156 DIMENSION P0(4),P(4),PS(4)
157C-----------------------------------------------------------------------
158 P0S=P0(1)**2+P0(2)**2+P0(3)**2
159 AM0=DSQRT(P0(4)**2-P0S)
160 EPM=P0(4)+AM0
161 PP0=P(1)*P0(1)+P(2)*P0(2)+P(3)*P0(3)
162 H=(PP0/EPM-P(4))/AM0
163 PS(1)=P(1)+P0(1)*H
164 PS(2)=P(2)+P0(2)*H
165 PS(3)=P(3)+P0(3)*H
166 PS(4)=(P0(4)*P(4)-PP0)/AM0
167 RETURN
168 END
169
170 SUBROUTINE LTRANB(P0,PS,P)
171C==>calculating particle 4-momentum P={PX,PY,PZ,E}
172C from its 4-momentum PS={PSX,PSY,PSZ,ES}
173C in rest frame of a system 0 with 4-momentum P0={P0X,P0Y,P0Z,E0}
174
175 IMPLICIT REAL*8 (A-H,O-Z)
176 DIMENSION P0(4),P(4),PS(4)
177C-----------------------------------------------------------------------
178 P0S=P0(1)**2+P0(2)**2+P0(3)**2
179 AM0=DSQRT(P0(4)**2-P0S)
180 EPM=P0(4)+AM0
181 PSP0=PS(1)*P0(1)+PS(2)*P0(2)+PS(3)*P0(3)
182 HS=(PSP0/EPM+PS(4))/AM0
183 P(1)=PS(1)+P0(1)*HS
184 P(2)=PS(2)+P0(2)*HS
185 P(3)=PS(3)+P0(3)*HS
186 P(4)=(P0(4)*PS(4)+PSP0)/AM0
187 RETURN
188 END
189
190 SUBROUTINE LTRAN12
191C==>calculating particle momentum in PRF {EE,PPX,PPY,PPZ} from
192C- the momentum of the first particle {E1,P1X,P1Y,P1Z) in NRF
193 IMPLICIT REAL*8 (A-H,O-Z)
194 COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in NRF
195 1 P2X,P2Y,P2Z,E2,P2
196 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS,
197 1 X,Y,Z,T,RP,RPS
198 COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2
199 COMMON/FSI_P12/P12X,P12Y,P12Z,E12,P12,AM12,EPM
200 COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, !4-coord. of emis. points in NRF
201 1 X2,Y2,Z2,T2,R2
202 COMMON/FSI_CONS/PI,PI2,SPI,DR,W
203
204C fm --> 1/GeV
205 X1=X1*W
206 Y1=Y1*W
207 Z1=Z1*W
208 T1=T1*W
209 X2=X2*W
210 Y2=Y2*W
211 Z2=Z2*W
212 T2=T2*W
213C calculating Ri, Pi and Ei
214 R1=DSQRT(X1*X1+Y1*Y1+Z1*Z1)
215 R2=DSQRT(X2*X2+Y2*Y2+Z2*Z2)
216 P1S=P1X*P1X+P1Y*P1Y+P1Z*P1Z
217 P2S=P2X*P2X+P2Y*P2Y+P2Z*P2Z
218 P1=DSQRT(P1S)
219 P2=DSQRT(P2S)
220 E1=DSQRT(AM1*AM1+P1S)
221 E2=DSQRT(AM2*AM2+P2S)
222C-----------------------------------------------------------------------
223 E12=E1+E2
224 P12X=P1X+P2X
225 P12Y=P1Y+P2Y
226 P12Z=P1Z+P2Z
227 P12S=P12X**2+P12Y**2+P12Z**2
228 AM12=DSQRT(E12**2-P12S)
229 EPM=E12+AM12
230 P12=DSQRT(P12S)
231 P112=P1X*P12X+P1Y*P12Y+P1Z*P12Z
232 H1=(P112/EPM-E1)/AM12
233 PPX=P1X+P12X*H1
234 PPY=P1Y+P12Y*H1
235 PPZ=P1Z+P12Z*H1
236 EE=(E12*E1-P112)/AM12
237 AKS=EE**2-AM1**2
238 AK=DSQRT(AKS)
239
240CW WRITE(6,38)'AK ',AK,'K ',PPX,PPY,PPZ,EE
24138 FORMAT(A7,E11.4,A7,4E11.4)
242 RETURN
243 END
244
245 SUBROUTINE FSIPN(WEIF)
246C calculating particle-nucleus Coulomb Wave functions FFij
247 IMPLICIT REAL*8 (A-H,O-Z)
248 COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2
249 COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in NRF
250 1 P2X,P2Y,P2Z,E2,P2
251 COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emis. points in NRF
252 1 X2,Y2,Z2,T2,R2
253 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
254 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
255 COMMON/FSI_ICH1/ICH1
256 COMMON/FSI_ETA/ETA
257 COMMON/FSI_FFPN/FF12,FF21
258 COMPLEX*16 FF1,FF12,FF21
259 FF12=DCMPLX(1.D0,0.D0)
260 FF21=DCMPLX(1.D0,0.D0)
261C ACH=1.D0
262C WEIF=1.D0
263 IF(I3C.EQ.0)RETURN
264 ICH1=IDINT(C1)
265 IF(ICH1.EQ.0)GOTO 11
266 XH=AC1*P1
267 ACH=ACP(XH)
268 ACHR=DSQRT(ACH)
269 ETA=0.D0
270 IF(XH.NE.0.D0)ETA=1/XH
271 RHOS=P1*R1
272 HS=X1*P1X+Y1*P1Y+Z1*P1Z
273 FF12=FF12*FF1(RHOS,HS)
274 IF(IQS.EQ.0)GOTO 11
275 RHOS=P1*R2
276 HS=X2*P1X+Y2*P1Y+Z2*P1Z
277 FF21=FF21*FF1(RHOS,HS)
278 11 ICH1=IDINT(C2)
279 IF(ICH1.EQ.0)GOTO 10
280 XH=AC2*P2
281 ACH=ACP(XH)
282 ACHR=DSQRT(ACH)
283 ETA=0.D0
284 IF(XH.NE.0.D0)ETA=1/XH
285 RHOS=P2*R2
286 HS=X2*P2X+Y2*P2Y+Z2*P2Z
287 FF12=FF12*FF1(RHOS,HS)
288CW WRITE(6,41)'AC2 ',AC2,'ACH ',ACH,'ETA ',ETA,'RHOS ',RHOS,'HS ',HS
28941 FORMAT(5(A5,E11.4))
290CW WRITE(6,40)'FF12 ',DREAL(FF12),DIMAG(FF12)
291 IF(IQS.EQ.0)GOTO 10
292 RHOS=P2*R1
293 HS=X1*P2X+Y1*P2Y+Z1*P2Z
294 FF21=FF21*FF1(RHOS,HS)
295CW WRITE(6,41)'AC1 ',AC1,'ACH ',ACH,'ETA ',ETA,'RHOS ',RHOS,'HS ',HS
296CW WRITE(6,40)'FF21 ',DREAL(FF21),DIMAG(FF21)
29740 FORMAT(A7,2E12.4)
298 10 CONTINUE
299
300C WEIF = the weight due to the Coulomb particle-nucleus interaction
301 WEIF=DREAL(FF12)**2+DIMAG(FF12)**2
302 IF(IQS.EQ.1)WEIF=0.5D0*(WEIF+DREAL(FF21)**2+DIMAG(FF21)**2)
303 RETURN
304 END
305
306 FUNCTION GPIPI(X,J)
307C--- GPIPI = k*COTG(DELTA), X=k^2
308C-- J=1(2) corresponds to isospin=0(2)
309 IMPLICIT REAL*8 (A-H,O-Z)
310 COMMON/FSI_AAPI/AAPI(20,2)
311 COMMON/FSI_C/HELP(20),AM,AMS,DM
312 OM=DSQRT(X+AMS)
313 XX=X/AMS
314 GPIPI=OM/AAPI(1,J)
315 GPIPI=GPIPI*(1+(AAPI(3,J)-AAPI(1,J)**2)*XX+AAPI(4,J)*XX*XX)
316 GPIPI=GPIPI/(1+(AAPI(3,J)+AAPI(2,J)/AAPI(1,J))*XX)
317 RETURN
318 END
319
320 FUNCTION GPIN(X,J)
321C--- GPIN = k*COTG(DELTA), X=k^2
322C-- J=1(2) corresponds to piN isospin=1/2(3/2)
323 IMPLICIT REAL*8 (A-H,O-Z)
324 COMMON/FSI_AAPIN/AAPIN(20,2)
325 GPIN=1/AAPIN(1,J)+.5D0*AAPIN(2,J)*X
326 RETURN
327 END
328
329 FUNCTION GND(X,J)
330C--- GND = k*COTG(DELTA), X=k^2
331C--- J=1(2) corresp. to nd(pd), S=1/2,
332C--- J=3(4) corresp. to nd(pd), S=3/2
333 IMPLICIT REAL*8 (A-H,O-Z)
334 COMMON/FSI_AAND/AAND(20,4)
335 XX=X
336 GND=1/AAND(1,J)+.5D0*AAND(2,J)*X
337 DO 1 I=4,4
338 XX=XX*X
339 1 GND=GND+AAND(I,J)*XX
340 GND=GND/(1+AAND(3,J)*X)
341 RETURN
342 END
343 FUNCTION GDD(X,J)
344C--- GDD = k*COTG(DELTA), X=k^2
345C--- J=1,2,3 corresp. to S=0,1,2
346 IMPLICIT REAL*8 (A-H,O-Z)
347 COMMON/FSI_AADD/AADD(20,3)
348 COMMON/FSI_C/C(10),AM,AMS,DM
349 COMMON/FSI_CONS/PI,PI2,SPI,DR,W
350 COMPLEX*16 C
351 E=X/2/AM
352 ER=DSQRT(E)
353 IF(J.EQ.1)THEN
354 GDD=ER*(AADD(1,1)*DEXP(-E/AADD(2,1))-AADD(3,1))
355 GDD=GDD/DR ! from degree to radian
356 TAND=DTAN(GDD)
357 IF(TAND.EQ.0.D0)TAND=1.D-10
358 GDD=DSQRT(X)/TAND
359 END IF
360 IF(J.EQ.2)THEN
361 GDD=1.D10
362 END IF
363 IF(J.EQ.3)THEN
364 GDD=ER*(AADD(1,3)+AADD(2,3)*E)
365 GDD=GDD/DR ! from degree to radian
366 TAND=DTAN(GDD)
367 IF(TAND.EQ.0.D0)TAND=1.D-10
368 GDD=DSQRT(X)/TAND
369 END IF
370 RETURN
371 END
372 BLOCK DATA
373 IMPLICIT REAL*8 (A-H,O-Z)
374 COMMON/FSI_AAPI/AAPI(20,2)/FSI_AAND/AAND(20,4)
375 COMMON/FSI_AADD/AADD(20,3)/FSI_AAPIN/AAPIN(20,2)
376 COMMON/FSI_AAKK/AAKK(9)/FSI_AAPAP/AAPAPR(3,2),AAPAPI(3,2)
377C---Parameters for GPIPI (I,J), J=1,2 -> isospin=0,2
378 DATA AAPI/.2600D00, .2500D00, .3480D00,-.0637D00, 16*0.D0,
379 1 -.0280D00,-.0820D00, .2795D00,-.0086D00, 16*0.D0/
380C---Parameters for GPIN (I,J), J=1,2 -> piN isospin=1/2,3/2
381 DATA AAPIN/ .12265D1, .1563D2, 18*0.D0,
382 1 -.750D0, .7688D2, 18*0.D0/
383C---Parameters for GND (I,J), J=1(2) corresp. to nd(pd), S=1/2,
384C--- J=3(4) corresp. to nd(pd), S=3/2
385 DATA AAND/-.3295D1,-.8819D3, .4537D4, .28645D5, 16*0.D0,
386 1 -.13837D2, .11505D2, .0D0, .10416D2, 16*0.D0,
387 2 -.32180D2, .1014D2, .0D0, .0D0, 16*0.D0,
388 3 -.60213D2, .1333D2, .0D0,-.70309D2, 16*0.D0/
389 DATA AADD/ .10617D4, .3194D-2, .56849D3, 17*0.D0,
390 1 20*0.D0,
391 2 -.1085D4, .1987D5, 18*0.D0/
392C--- AAKK= m_K^2, m_pi^2, m_eta^2, m_S*^2, m_delta^2,
393C--- gam(S*-->KK-b), gam(S*-->pipi), gam(delta-->KK-b),
394C--- gam(delta-->pi eta)
395 DATA AAKK/.247677D00,.01947977D00,.2997015D00,.9604D00,
396 1 .96511D00,
397cc 2 .792D00, .199D00, .333D00, .222D00/ ! Martin (77)
398 2 .094D00, .110D00, .333D00, .222D00/ ! Morgan (93)
399C---Parameters for PAP (I,J), j=1,2 -> isospin I=0,2
400C--- i=1-3 -> a_singlet, a_triplet, d [fm]
401C--- Im a_IS (I=isospin, S=spin) are fixed by atomic data and
402C n-bar survival time up to one free parameter, e.g. Im a_00
403C--- Batty (89), Kerbikov (93):
404C--- Ima_10=1.96-Ima_00, Ima_01=0.367-Ima_00/3, Ima_11=0.453+Ima_00/3
405C--- In DATA we put Ima_00=0.3.
406C--- Re a_IS are fixed by atomic data up to three free parameters
407C--- Batty (89):
408C--- Rea_aver(pp-bar)=Re[(a_00+a_10)+3(a_01+a_11)]/8=-0.9
409C--- In DATA we used Rea_IS from Paris potential Pignone (94)
410C--- rescaled by 1.67 to satisfy the atomic constraint.
411C--- Effective radius is is taken independent of IS from the phase
412C--- shift fit by Pirner et al. (91).
413 DATA AAPAPR/-0.94D0, -1.98D0, .1D0,
414 1 -1.40D0, 0.37D0, .1D0/ ! Re
415 DATA AAPAPI/ 0.3 D0, .267D0,-.01D0,
416 1 1.66D0, .553D0,-.01D0/ ! Im
417 END
418 SUBROUTINE CKKB ! calculates KK-b scattering amplitude,
419 ! saturated by S*(980) and delta(982) resonances
420 IMPLICIT REAL*8 (A-H,O-Z)
421 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS,
422 1 X,Y,Z,T,RP,RPS
423 COMMON/FSI_AAKK/AAKK(9)
424 COMMON/FSI_C/C(10),AM,AMS,DM
425 COMPLEX*16 C
426 S4=AKS+AAKK(1)
427 S=4*S4
428 AKPIPI=DSQRT(S4-AAKK(2))
429 EETA2=(S+AAKK(3)-AAKK(2))**2/4/S
430 AKPIETA=DSQRT(EETA2-AAKK(3))
431 C(1)=AAKK(6)/2/DCMPLX(AAKK(4)-S,
432 ,-AK*AAKK(6)-AKPIPI*AAKK(7))
433 C(1)=C(1)+AAKK(8)/2/DCMPLX(AAKK(5)-S,
434 ,-AK*AAKK(8)-AKPIETA*AAKK(9))
435 RETURN
436 END
437 SUBROUTINE CPAP ! calculates pp-bar scattering amplitude
438 ! accounting for nn-bar->pp-bar channel
439 IMPLICIT REAL*8 (A-H,O-Z)
440 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
441 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS,
442 1 X,Y,Z,T,RP,RPS
443 COMMON/FSI_AAPAP/AAPAPR(3,2),AAPAPI(3,2)
444 COMMON/FSI_C/C(10),AM,AMS,DM
445 COMMON/FSI_2CHA/AK2,AK2S,AAK,HCP2,AMU2_AMU1 ! k* (kappa) for 2-nd channel
446 COMPLEX*16 C
447 DATA AM2/.93956563D0/
448 AMU2_AMU1=AM2/AM ! AM2=2*mu(nn-bar), AM=2*mu(pp-bar)
449 AK2S0=AMU2_AMU1*AKS
450 AK2S =AK2S0-2*AM2*(AM2-AM)
451 IF(AK2S.GE.0.D0)THEN
452 AK2=DCMPLX(DSQRT(AK2S),0.D0) ! k2
453 ELSE
454 AK2=DCMPLX(0.D0,DSQRT(-AK2S)) ! kappa2
455 ENDIF
456 C(10)=C(6+(ISPIN-1)*2)+
457 + DCMPLX(AAPAPR(3,ISPIN)*AKS/2-0.016D0-HCP2,
458 , AAPAPI(3,ISPIN)*AKS/2-AAK) ! (1/f)11
459 C(5)=C(6+(ISPIN-1)*2)+
460 + DCMPLX(AAPAPR(3,ISPIN)*AK2S0/2,
461 , AAPAPI(3,ISPIN)*AK2S0/2)
462 IF(AK2S.GE.0.D0)THEN
463 C(5)=C(5)-DCMPLX(0.D0,AK2)
464 ELSE
465 C(5)=C(5)+DCMPLX(AK2,0.D0) ! (1/f)22
466 ENDIF
467 C(10)=C(10)*C(5)-C(7+(ISPIN-1)*2)*C(7+(ISPIN-1)*2)
468 C(ISPIN)=C(5)/C(10) ! f11
469 C(ISPIN+2)=-C(7+(ISPIN-1)*2)/C(10) ! f12
470 RETURN
471 END
472
473 SUBROUTINE FSIIN(I_ITEST,I_ICH,I_IQS,I_ISI,I_I3C)
474C SUBROUTINE FSIINI
475C---Note:
476C-- ICH= 0 (1) if the Coulomb interaction is absent (present);
477C-- ISPIN= JJ= 1,2,..,MSPIN denote increasing values of the pair
478C-- total spin S.
479C-- To calculate the CF of two particles (with masses m1, m2 and
480C-- charges C1, C2) the following information is required:
481C-- AM= twice the reduced mass= 2*m1*m2/(m1+m2) in GeV/c^2,
482C-- DM= (m1-m2)/(m1+m2), required if NS=2;
483C-- AC= Bohr radius= 2*137.036*0.1973/(C1*C2*AMH) in fm;
484C-- AC > 1.D9 if C1*C2= 0, AC < 0 if C1*C2 < 0;
485C-- MSPIN= MSPINH(LL)= number of the values of the total pair spin S;
486C-- FD= FDH(LL,JJ), RD= RDH(LL,JJ)= scattering length and effective
487C-- radius for each value of the total pair spin S, JJ= 1,..,MSPIN; ;
488C-- the corresponding square well parameters EB= EBH(LL,JJ), RB=
489C-- RBH(LL,JJ) (required if NS=1) may be calculated by sear.f;
490C-- if the effective range approximation is not valid (as is the case,
491C-- e.g., for two-pion system) a code for calculation of the scattering
492C-- amplitude should be supplemented;
493C-- RHO= RHOH(LL,JJ), SF= SFH(LL,JJ), SE= SEH(LL) are spin factors;
494C-- RHO= the probability that the spins j1 and j2 of the two particles
495C-- will combine in a total spin S;
496C-- RHO= (2*S+1)/[(2j1+1)*(2j2+1)] for unpolarized particles;
497C-- RHO= (1-P1*P2)/4 and (3+P1*P2)/4 correspond to S=0 and 1 in the
498C-- case of spin-1/2 particles with polarizations P1 and P2;
499C-----------------------------------------------------------------------
500 IMPLICIT REAL*8 (A-H,O-Z)
501 COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2
502 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS,
503 1 X,Y,Z,T,RP,RPS
504 COMMON/FSI_SPIN/RHO(10)
505 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
506 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
507 COMMON/FSI_FD/FD(10),RD(10)
508 COMMON/FSI_C/C(10),AM,AMS,DM
509 COMMON/FSI_CONS/PI,PI2,SPI,DR,W
510 COMPLEX*16 C
511 COMMON/FSI_AA/AA
512 COMMON/FSI_AAPI/AAPI(20,2)/FSI_AAND/AAND(20,4)
513 COMMON/FSI_AAPIN/AAPIN(20,2)
514 COMMON/FSI_AAPAP/AAPAPR(3,2),AAPAPI(3,2)
515 COMMON/FSI_SW/RB(10),EB(10),BK(10),CDK(10),SDK(10),
516 1 SBKRB(10),SDKK(10)
517 COMMON/FSI_FDH/FDH(30,10),RDH(30,10),EBH(30,10),RBH(30,10)
518 COMMON/FSI_RHOH/RHOH(30,10)
519 COMMON/FSI_AMCH/AM1H(30),AM2H(30),C1H(30),C2H(30),MSPINH(30)
520C============= declarations pour l'appel de READ_FILE()============
521c CHARACTER*10 KEY
522c CHARACTER*8 CH8
523c INTEGER*4 INT4
524c REAL*8 REAL8
525c INTEGER*4 IERR
526C
527C--- mass of the first and second particle
528 DATA AM1H/.93956563D0,.93827231D0,.93956563D0,3.72737978D0,
529 C .13957D0,.13498D0,.13957D0, .93956563D0, .93827231D0,
530 C 4*.13957D0,4*.493677D0,
531 C 2*1.87561339D0,2*2.80892165D0,2*.497672D0,
532 C 1.87561339D0,3*.93827231D0,.93956563D0,
533 C 1.115684D0,.93827231D0/
534 DATA AM2H/.93956563D0,.93827231D0,.93827231D0,3.72737978D0,
535 C .13957D0,.13498D0,.13957D0, 2*1.87561339D0,
536 C 2*.493677D0,2*.93827231D0,
537 C 2*.493677D0,2*.93827231D0,
538 C 1.87561339D0,3.72737978D0,2.80892165D0,3.72737978D0,
539 C 2*.497672D0,2*2.80892165D0,3.72737978D0,
540 C 3*1.115684D0,.93827231D0/
541c--------|---------|---------|---------|---------|---------|---------|----------
542C--- charge of the first and second particle
543 DATA C1H/0.D0,1.D0,0.D0,2.D0, 1.D0,0.D0,1.D0,0.D0,1.D0,
544 C 3*1.D0,-1.D0,3*1.D0,-1.D0,
545 C 4*1.D0,2*0.D0,4*1.D0,2*0.D0, 1.D0/
546 DATA C2H/0.D0,1.D0,1.D0,2.D0,-1.D0,0.D0,3*1.D0,
547 C -1.D0,3*1.D0,-1.D0,3*1.D0,
548 C 1.D0,2.D0,1.D0,2.D0,2*0.D0,2*1.D0,2.D0,3*0.D0,-1.D0/
549C---MSPIN vs (LL)
550 DATA MSPINH/3*2,4*1,2*2,8*1,3,1,2,1,2*1,2*2,1,3*2, 2/
551C---Spin factors <RHO vs (LL,ISPIN)
552 DATA RHOH/3*.25D0, 4*1.D0, 2*.3333D0, 8*1.D0,
553 1 .1111D0,1.D0,.25D0,1.D0,2*1.D0,
554 1 .3333D0,.25D0,1.D0,3*.25D0, .25D0,
555 2 3*.75D0, 4*0.D0, 2*.6667D0, 8*0.D0,
556 2 .3333D0,.0D0,.75D0,.0D0,2*0.D0,
557 2 .6667D0,.75D0,0.D0,3*.75D0, .75D0,
558 3 17*.0D0,.5556D0,3*0.D0, 8*0.D0,1*0.D0,210*0.D0/
559C---Scattering length FD and effective radius RD in fm vs (LL,ISPIN)
560 DATA FDH/
561 1 17.0D0,7.8D0,23.7D0,2230.1218D0,.225D0,.081D0,-.063D0,
562 1 -.65D0,-2.73D0,
563 1 .137D0,-.071D0,-.148D0,.112D0,2*1.D-6,-.360D0,
564 1 2*1.D-6,1.344D0,6*1.D-6,-5.628D0,2.18D0,2.40D0,
565 1 2.81D0, ! ND potential
566C 1 0.50D0, ! NSC97e potential lam-lam
567 1 1*0.001D0,
568C c 2 -10.8D0,2*-5.4D0,4*0.D0,-6.35D0,-11.88D0,8*0.D0,9*0.D0,
569 2 3*-5.4D0,4*0.D0,-6.35D0,-11.88D0,8*0.D0,9*0.D0,
570 2 1.93D0,1.84D0,
571 2 0.50D0, ! triplet f0 lam-lam=singlet f0 ND
572 ! not contributing in s-wave FSI approx.
573 2 1*0.001D0,
574 3 240*0.D0/
575c--------|---------|---------|---------|---------|---------|---------|----------
576 DATA RDH/
577 1 2.7D0,2.8D0,2.7D0,1.12139906D0,-44.36D0,64.0D0,784.9D0,
578 1 477.9D0, 2.27D0, 9*0.D0,-69.973D0, 6*0.D0,3.529D0,
579 1 3.19D0,3.15D0,
580 1 2.95D0, ! ND potential lam-lam
581C 1 10.6D0, ! NSC97e potential lam-lam
582 1 1*0.D0,
583 2 3*1.7D0,4*0.D0,2.0D0,2.63D0, 17*0.D0,3.35D0,3.37D0,
584 2 2.95D0, ! triplet d0 lam-lam=singlet d0 ND
585 ! not contributing in s-wave approx.
586 2 1*0.D0,
587 3 240*0.D0/
588C--- Corresponding square well parameters RB (width in fm) and
589C-- EB =SQRT(-AM*U) (in GeV/c); U is the well height
590 DATA RBH/2.545739D0, 2.779789D0, 2.585795D0, 5.023544D0,
591 1 .124673D0, .3925180D0,.09D0, 2.D0, 4.058058D0, 17*0.D0,
592 1 2.252623D0, 2.278575D0,
593 1 2.234089D0, ! ND potential lam-lam
594C 1 3.065796D0, ! NSC97e potential lam-lam
595 1 1*0.001D0,
596 2 3*2.003144D0,
597 2 4*0.D0, 2.D0, 4.132163D0, 17*0.D0,
598 2 2.272703D0, 2.256355D0,
599 2 2.234089D0, ! triplet potential lam-lam=singlet ND
600 ! not contributing in s-wave FSI approx.
601 2 1*0.001D0,
602 3 240*0.D0/
603 DATA EBH/.1149517D0, .1046257D0, .1148757D0, .1186010D0,
604 1 .7947389D0,2.281208D0,8.7D0,.4D0,.1561219D0,17*0.D0,
605 1 .1013293D0, .1020966D0,
606 1 .1080476D0, ! ND potential lam-lam
607C 1 .04115994D0, ! NSC97e potential lam-lam
608 1 1*0.001D0,
609 2 3*.1847221D0,
610 2 4*0.D0, .4D0, .1150687D0, 17*0.D0,
611 2 .09736083D0, .09708310D0,
612 2 .1080476D0, ! triplet potential lam-lam= singlet ND
613 ! not contributing in s-wave FSI approx.
614 2 1*0.001D0,
615 3 240*0.D0/
616
617C++----- add to be able to call several time-------
618 integer ifirst
619 data ifirst/0/
620 ifirst=ifirst+1
621
622C=======< constants >========================
623 W=1/.1973D0 ! from fm to 1/GeV
624 PI=4*DATAN(1.D0)
625 PI2=2*PI
626 SPI=DSQRT(PI)
627 DR=180.D0/PI ! from radian to degree
628 AC1=1.D10
629 AC2=1.D10
630C=======< condition de calculs >=============
631 NUNIT=11 ! for IBM in Nantes
632C NUNIT=4 ! for SUN in Prague
633C++ CALL readint4(NUNIT,'ITEST ',ITEST)
634C++ CALL readint4(NUNIT,'NS ',NS)
635 ITEST=I_ITEST
636 IF(ITEST.EQ.1)THEN
637C++ CALL readint4(NUNIT,'ICH ',ICH)
638C++ CALL readint4(NUNIT,'IQS ',IQS)
639C++ CALL readint4(NUNIT,'ISI ',ISI)
640C++ CALL readint4(NUNIT,'I3C ',I3C)
641 ICH=I_ICH
642 IQS=I_IQS
643 ISI=I_ISI
644 I3C=I_I3C
645 ENDIF
646C============================================
647 IF (IFIRST.LE.1) THEN
648 DO 3 J1=1,30
649 DO 3 J2=1,10
650 FDH(J1,J2)=FDH(J1,J2)*W
651 RDH(J1,J2)=RDH(J1,J2)*W
652 3 RBH(J1,J2)=RBH(J1,J2)*W
653C print *,"FD,RD,EB,RB: ",FDH(J1,J2),RDH(J1,J2),EBH(J1,J2),RBH(J1,J2)
654
655 ENDIF
656C===================================
657 RETURN
658 END
659C
660 SUBROUTINE LLINI(lll,I_NS,I_ITEST)
661C===> Initialisation for a given LL value.
662C ===========================================
663 IMPLICIT REAL*8 (A-H,O-Z)
664 COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2
665 COMMON/FSI_SPIN/RHO(10)
666 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
667 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
668 COMMON/FSI_FD/FD(10),RD(10)
669 COMMON/FSI_C/C(10),AM,AMS,DM
670 COMMON/FSI_CONS/PI,PI2,SPI,DR,W
671 COMPLEX*16 C
672 COMMON/FSI_AA/AA
673 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS,
674 1 X,Y,Z,T,RP,RPS
675 COMMON/FSI_AAPI/AAPI(20,2)/FSI_AAND/AAND(20,4)
676 COMMON/FSI_AAPIN/AAPIN(20,2)
677 COMMON/FSI_SW/RB(10),EB(10),BK(10),CDK(10),SDK(10),
678 1 SBKRB(10),SDKK(10)
679 COMMON/FSI_FDH/FDH(30,10),RDH(30,10),EBH(30,10),RBH(30,10)
680 COMMON/FSI_RHOH/RHOH(30,10)
681 COMMON/FSI_AMCH/AM1H(30),AM2H(30),C1H(30),C2H(30),MSPINH(30)
682 COMMON/FSI_AAKK/AAKK(9)/FSI_AAPAP/AAPAPR(3,2),AAPAPI(3,2)
683
684C++----- add to be able to call several time-------
685 integer ifirst
686 data ifirst/0/
687 ifirst=ifirst+1
688
689C===> LL - Initialisation ========================================
690C---- Setting particle masses and charges
691 LL=lll
692 NS=I_NS
693 AM1=AM1H(LL)
694 AM2=AM2H(LL)
695 C1=C1H(LL)
696 C2=C2H(LL)
697C print *,"llini: ",AM1,AM2,C1,C2
698C---> Switches:
699C ISI=1(0) the strong interaction between the two particles ON (OFF)
700C IQS=1(0) the quantum statistics ON (OFF);
701C should be OFF for nonidentical particles
702C I3C=1(0) the Coulomb interaction with the nucleus ON (OFF)
703C I3S=1(0) the strong interaction with the nucleus ON (OFF)
704C ICH=1(0) if C1*C2 is different from 0 (is equal to 0)
705C- To switch off the Coulomb force between the two particles
706C put ICH=0 and substitute the strong amplitude parameters by
707C the ones not affected by Coulomb interaction
708C---- --------------------------------------------------------------------
709 IF (I_ITEST.NE.1) THEN
710 ICH=0
711 IF(C1*C2.NE.0.D0) ICH=1
712 IQS=0
713 IF(C1+AM1.EQ.C2+AM2) IQS=1
714 I3S=0 ! only this option is available
715 ISI=1
716 I3C=1
717 ENDIF
718C---> Calcul. twice the reduced mass (AM), the relative
719C mass difference (DM) and the Bohr radius (AC)
720 AM=2*AM1*AM2/(AM1+AM2)
721 AMS=AM*AM
722 DM=(AM1-AM2)/(AM1+AM2)
723 AC=1.D10
724 C12=C1*C2
725 IF(C12.NE.0.D0)AC=2*137.036D0/(C12*AM)
726C---Setting spin factors
727 MSPIN=MSPINH(LL)
728C print *,"MSPIN: ",MSPIN
729 MSP=MSPIN
730 DO 91 ISPIN=1,10
731 91 RHO(ISPIN)=RHOH(LL,ISPIN)
732C 91 print *,"RHO: ",ISPIN,RHO(ISPIN)
733C---> Integration limit AA in the spherical wave approximation
734 AA=0.D0
735cc IF(NS.EQ.2.OR.NS.EQ.4)AA=.5D0 !!in 1/GeV --> 0.1 fm
736 IF(NS.EQ.2.OR.NS.EQ.4)AA=6.D0 !!in 1/GeV --> 1.2 fm
737C---> Setting scatt. length (FD), eff. radius (RD) and, if possible,
738C-- also the corresp. square well parameters (EB, RB)
739 DO 55 JJ=1,MSP
740 ISPIN=JJ
741 FD(JJ)=FDH(LL,JJ)
742 RD(JJ)=RDH(LL,JJ)
743 EB(JJ)=EBH(LL,JJ)
744 RB(JJ)=RBH(LL,JJ)
745C print *,"FD,RD,EB,RB: ",FD(JJ),RD(JJ),EB(JJ),RB(JJ)
746C---Resets FD and RD for a nucleon-deuteron system (LL=8,9)
747 IF(LL.EQ.8.OR.LL.EQ.9)THEN
748 JH=LL-7+2*JJ-2
749 FD(JJ)=AAND(1,JH)
750 RD(JJ)=AAND(2,JH)-2*AAND(3,JH)/AAND(1,JH)
751 ENDIF
752C---Resets FD and RD for a pion-pion system (LL=5,6,7)
753 IF(LL.EQ.5.OR.LL.EQ.6.OR.LL.EQ.7)THEN
754 IF(LL.EQ.7)FD(JJ)=AAPI(1,2)/AM
755 IF(LL.EQ.5)FD(JJ)=(.6667D0*AAPI(1,1)+.3333D0*AAPI(1,2))/AM
756 IF(LL.EQ.6)FD(JJ)=(.3333D0*AAPI(1,1)+.6667D0*AAPI(1,2))/AM
757 AKS=0.D0
758 DAKS=1.D-5
759 AKSH=AKS+DAKS
760 AKH=DSQRT(AKSH)
761 GPI1H=GPIPI(AKSH,1)
762 GPI2H=GPIPI(AKSH,2)
763 H=1/FD(JJ)
764 IF(LL.EQ.7)C(JJ)=1/DCMPLX(GPI2H,-AKH)
765 IF(LL.EQ.5)
766 + C(JJ)=.6667D0/DCMPLX(GPI1H,-AKH)+.3333D0/DCMPLX(GPI2H,-AKH)
767 IF(LL.EQ.6)
768 + C(JJ)=.3333D0/DCMPLX(GPI1H,-AKH)+.6667D0/DCMPLX(GPI2H,-AKH)
769 HH=DREAL(1/C(JJ))
770 RD(JJ)=2*(HH-H)/DAKS
771 ENDIF
772C---Resets FD and RD for a pion-nucleon system (LL=12,13)
773 IF(LL.EQ.12.OR.LL.EQ.13)THEN
774 IF(LL.EQ.12)FD(JJ)=AAPIN(1,2)
775 IF(LL.EQ.13)FD(JJ)=(.6667D0*AAPIN(1,1)+.3333D0*AAPIN(1,2))
776 AKS=0.D0
777 DAKS=1.D-5
778 AKSH=AKS+DAKS
779 AKH=DSQRT(AKSH)
780 GPI1H=GPIN(AKSH,1)
781 GPI2H=GPIN(AKSH,2)
782 H=1/FD(JJ)
783 IF(LL.EQ.12)C(JJ)=1/DCMPLX(GPI2H,-AKH)
784 IF(LL.EQ.13)
785 + C(JJ)=.6667D0/DCMPLX(GPI1H,-AKH)+.3333D0/DCMPLX(GPI2H,-AKH)
786 HH=DREAL(1/C(JJ))
787 RD(JJ)=2*(HH-H)/DAKS
788 ENDIF
789C---fm to 1/GeV for pp-bar system
790 IF(LL.EQ.30)THEN
791 IF(IFIRST.LE.1)THEN
792 DO 4 I3=1,3
793 AAPAPR(I3,JJ)=AAPAPR(I3,JJ)*W
794 4 AAPAPI(I3,JJ)=AAPAPI(I3,JJ)*W
795C 4 print *,"AAPAPR,AAPAPI: ",AAPAPR(I3,JJ),AAPAPI(I3,JJ)
796C--- Calculates complex elements M11=M22=C(6), M12=M21=C(7) for I=0
797C--- at k*=0 M11=M22=C(8), M12=M21=C(9) for I=1
798 C(7+(JJ-1)*2)=2*DCMPLX(AAPAPR(1,JJ),AAPAPI(1,JJ))*
799 * DCMPLX(AAPAPR(2,JJ),AAPAPI(2,JJ)) ! 2a_0Sa_1S
800 C(6+(JJ-1)*2)=DCMPLX(AAPAPR(1,JJ)+AAPAPR(2,JJ),
801 , AAPAPI(1,JJ)+AAPAPI(2,JJ))/
802 / C(7+(JJ-1)*2) ! M11=M22
803 C(7+(JJ-1)*2)=-DCMPLX(AAPAPR(1,JJ)-AAPAPR(2,JJ),
804 , AAPAPI(1,JJ)-AAPAPI(2,JJ))/
805 / C(7+(JJ-1)*2) ! M12=M21
806 ENDIF
807 ENDIF
808C---Calculation continues for any system (any LL)
809 55 CONTINUE
810 RETURN
811 END
812C=======================================================
813C
814
815c++ This routine is used to init mass and charge of the nucleus.
816
817 SUBROUTINE FSINUCL(R_AMN,R_CN)
818
819 IMPLICIT REAL*8 (A-H,O-Z)
820 COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2
821
822 AMN=R_AMN
823 CN=R_CN
824
825 RETURN
826 END
827
828C======================================================
829C
830
831 SUBROUTINE FSIMOMENTUM(PP1,PP2)
832
833 IMPLICIT REAL*8 (A-H,O-Z)
834 COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, ! particle momenta in NRF
835 1 P2X,P2Y,P2Z,E2,P2
836
837
838 REAL*8 PP1(3),PP2(3)
839c Print *,"momentum",pp1,pp2
840 P1X=PP1(1)
841 P1Y=PP1(2)
842 P1Z=PP1(3)
843 P2X=PP2(1)
844 P2Y=PP2(2)
845 P2Z=PP2(3)
846 RETURN
847 END
848
849
850
851C======================================================
852C
853
854 SUBROUTINE FSIPOSITION(XT1,XT2)
855
856 IMPLICIT REAL*8 (A-H,O-Z)
857 COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, !4-coord. of emis. points in NRF
858 1 X2,Y2,Z2,T2,R2
859
860 REAL*8 XT1(4),XT2(4)
861clc print *,'fsi',xt1,xt2
862 X1=XT1(1)
863 Y1=XT1(2)
864 Z1=XT1(3)
865 T1=XT1(4)
866 X2=XT2(1)
867 Y2=XT2(2)
868 Z2=XT2(3)
869 T2=XT2(4)
870 RETURN
871 END
872
873
874C======================================================
875C======================================================
876C
877 subroutine BoostToPrf()
878 IMPLICIT REAL*8 (A-H,O-Z)
879 COMMON/FSI_CVK/V,CVK
880 COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in NRF
881 1 P2X,P2Y,P2Z,E2,P2
882 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS,
883 1 X,Y,Z,T,RP,RPS
884 COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emis. points in NRF
885 1 X2,Y2,Z2,T2,R2
886 COMMON/FSI_P12/P12X,P12Y,P12Z,E12,P12,AM12,EPM
887
888 XS=X1-X2
889 YS=Y1-Y2
890 ZS=Z1-Z2
891 TS=T1-T2
892 RS12=XS*P12X+YS*P12Y+ZS*P12Z
893 H1=(RS12/EPM-TS)/AM12
894 X=XS+P12X*H1
895 Y=YS+P12Y*H1
896 Z=ZS+P12Z*H1
897 T=(E12*TS-RS12)/AM12
898 RPS=X*X+Y*Y+Z*Z
899 RP=DSQRT(RPS)
900CW WRITE(6,38)'RP ',RP,'X ',X,Y,Z,T
90138 FORMAT(A7,E11.4,A7,4E11.4)
902
903 CVK=(P12X*PPX+P12Y*PPY+P12Z*PPZ)/(P12*AK)
904 V=P12/E12
905 return
906 end
907
908 SUBROUTINE FSIWF(WEI)
909C==> Prepares necessary quantities and call VZ(WEI) to calculate
910C the weight due to FSI
911 IMPLICIT REAL*8 (A-H,O-Z)
912 COMMON/FSI_CVK/V,CVK
913 COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in NRF
914 1 P2X,P2Y,P2Z,E2,P2
915 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS,
916 1 X,Y,Z,T,RP,RPS
917 COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emis. points in NRF
918 1 X2,Y2,Z2,T2,R2
919 COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2
920 COMMON/FSI_SPIN/RHO(10)
921 COMMON/FSI_BP/B,P
922 COMMON/FSI_ETA/ETA
923 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
924 COMMON/FSI_SW/RB(10),EB(10),BK(10),CDK(10),SDK(10),
925 1 SBKRB(10),SDKK(10)
926 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
927 COMMON/FSI_RR/F(10)
928 COMMON/FSI_FD/FD(10),RD(10)
929 COMMON/FSI_C/C(10),AM,AMS,DM
930 COMPLEX*16 C,F
931 COMMON/FSI_AA/AA
932 COMMON/FSI_SHH/SH,CHH
933 COMMON/FSI_AAPI/AAPI(20,2)/FSI_AAND/AAND(20,4)
934 COMMON/FSI_AAPIN/AAPIN(20,2)
935 COMMON/FSI_P12/P12X,P12Y,P12Z,E12,P12,AM12,EPM
936 COMMON/FSI_2CHA/AK2,AK2S,AAK,HCP2,AMU2_AMU1 ! k* (kappa) for 2-nd channel
937C==>calculating relative 4-coordinates of the particles in PRF
938C- {T,X,Y,Z} from the relative coordinates {TS,XS,YS,ZS} in NRF
939 XS=X1-X2
940 YS=Y1-Y2
941 ZS=Z1-Z2
942 TS=T1-T2
943 RS12=XS*P12X+YS*P12Y+ZS*P12Z
944 H1=(RS12/EPM-TS)/AM12
945 X=XS+P12X*H1
946 Y=YS+P12Y*H1
947 Z=ZS+P12Z*H1
948 T=(E12*TS-RS12)/AM12
949 RPS=X*X+Y*Y+Z*Z
950 RP=DSQRT(RPS)
951CW WRITE(6,38)'RP ',RP,'X ',X,Y,Z,T
95238 FORMAT(A7,E11.4,A7,4E11.4)
953
954 CVK=(P12X*PPX+P12Y*PPY+P12Z*PPZ)/(P12*AK)
955 V=P12/E12
956
957C ACH=1.D0
958 IF(ICH.EQ.0)GOTO 21
959 XH=AC*AK
960 ACH=ACP(XH)
961 ACHR=DSQRT(ACH)
962 ETA=0.D0
963 IF(XH.NE.0.D0)ETA=1/XH
964C---HCP, HPR needed (e.g. in GST) if ICH=1
965 HCP=HC(XH)
966 HPR=HCP+.1544313298D0
967C AAK=ACH*AK !
968C HCP2=2*HCP/AC ! needed to calculate C(JJ) for charged particles
969 21 CONTINUE
970 MSP=MSPIN
971 DO 30 JJ=1,MSP
972 ISPIN=JJ
973 IF(NS.NE.1)GOTO22
974C---Calc. quantities for the square well potential;
975C-- for LL=6-26 the square well potential is not possible or available
976 IF(LL.EQ.4)GOTO 22
977 BK(JJ)=DSQRT(EB(JJ)**2+AKS)
978 XRA=2*RB(JJ)/AC
979 HRA=BK(JJ)*RB(JJ)
980 CALL SEQ(XRA,HRA)
981 SBKRB(JJ)=HRA*B
982 HRA=AK*RB(JJ)
983 CALL GST(XRA,HRA)
984 SDK(JJ)=SH
985 CDK(JJ)=CHH
986 SDKK(JJ)=RB(JJ)
987 IF(AK.NE.0.D0)SDKK(JJ)=SH/AK
988 IF(ICH.EQ.1)SDK(JJ)=ACH*SDK(JJ)
989 22 CONTINUE
990C-----------------------------------------------------------------------
991C---Calc. the strong s-wave scattering amplitude = C(JJ)
992C-- divided by Coulomb penetration factor squared (if ICH=1)
993 IF(NS.NE.1)GOTO 230
994 IF(LL.NE.4)GOTO 230 ! SW scat. amplitude used for alfa-alfa only
995 GAK=G(AK)
996 AKACH=AK
997 IF(ICH.EQ.1)AKACH=AK*ACH
998 C(JJ)=1/DCMPLX(GAK,-AKACH) ! amplitude for the SW-potential
999 GOTO 30
1000 230 IF(LL.EQ.5.OR.LL.EQ.6.OR.LL.EQ.7)GOTO20 ! pipi
1001 IF(LL.EQ.12.OR.LL.EQ.13)GOTO20 ! piN
1002 IF(LL.EQ.8.OR.LL.EQ.9.OR.LL.EQ.18)GOTO20 ! Nd, dd
1003 IF(LL.EQ.14.OR.LL.EQ.17.OR.LL.EQ.23)GOTO27 ! K+K-, K-p, K0K0-b
1004 IF(LL.EQ.30)GOTO 28 ! pp-bar
1005 A1=RD(JJ)*FD(JJ)*AKS
1006 A2=1+.5D0*A1
1007 IF(ICH.EQ.1)A2=A2-2*HCP*FD(JJ)/AC
1008 AKF=AK*FD(JJ)
1009 IF(ICH.EQ.1)AKF=AKF*ACH
1010 C(JJ)=FD(JJ)/DCMPLX(A2,-AKF)
1011 GOTO30
1012 20 CONTINUE
1013C---Calc. scatt. ampl. C(JJ) for pipi, piN and Nd, dd
1014 JH=LL-7+2*JJ-2
1015 IF(LL.EQ.8.OR.LL.EQ.9)GPI2=GND(AKS,JH)
1016 IF(LL.EQ.18)GPI2=GDD(AKS,JJ)
1017 IF(LL.EQ.5.OR.LL.EQ.6.OR.LL.EQ.7)GPI2=GPIPI(AKS,2)
1018 IF(LL.EQ.12.OR.LL.EQ.13)GPI2=GPIN(AKS,2)
1019 C(JJ)=1.D0/DCMPLX(GPI2,-AK) !pi+pi+, nd, pd, pi+p, dd
1020 IF(LL.NE.5.AND.LL.NE.6.AND.LL.NE.13)GOTO27
1021 IF(LL.EQ.5.OR.LL.EQ.6)GPI1=GPIPI(AKS,1)
1022 IF(LL.EQ.13)GPI1=GPIN(AKS,1)
1023 IF(LL.EQ.5.OR.LL.EQ.13)
1024 c C(JJ)=.6667D0/DCMPLX(GPI1,-AK)+.3333D0*C(JJ) !pi+pi-,pi-p
1025 IF(LL.EQ.6)C(JJ)=.3333D0/DCMPLX(GPI1,-AK)+.6667D0*C(JJ) !pi0pi0
1026 27 CONTINUE
1027C---Calc. K+K-, K0K0-b or K-p s-wave scatt. ampl.
1028 IF(LL.EQ.14.OR.LL.EQ.23)CALL CKKB
1029c IF(LL.EQ.17)C(JJ)=DCMPLX(-3.29D0,3.55D0) ! Martin'76 (K-p)
1030c IF(LL.EQ.17)C(JJ)=DCMPLX(3.29D0,3.55D0) ! Martin'76 (K-p) WRONG SIGN!!!
1031 IF(LL.EQ.17)C(JJ)=DCMPLX(-2.585D0,4.156D0) ! Borasoy'04 (K-p)
1032c IF(LL.EQ.17)C(JJ)=DCMPLX(-3.371D0,3.244D0) ! Martin'81 (K-p)
1033C---Calc. pi+pi-, pi+pi+, pd, pi+p, pi-p, K+K- or K-p s-wave scatt. ampl.
1034C-- divided by Coulomb penetration factor squared (if ICH=1)
1035 IF(ICH.EQ.0)GOTO 30
1036 AAK=ACH*AK !
1037 HCP2=2*HCP/AC ! needed to calculate C(JJ) for charged particles
1038 C(JJ)=1/(1/C(JJ)-HCP2+DCMPLX(0.D0,AK-AAK))
1039 GOTO 30
1040 28 CONTINUE
1041C---Calc. pp-bar s-wave scatt. ampl.
1042 CALL CPAP
1043 30 CONTINUE
1044C***********************************************************************
1045 CALL VZ(WEI)
1046 RETURN
1047 END
1048 SUBROUTINE VZ(WEI)
1049C==> Calculates the weight WEI due to FSI
1050 IMPLICIT REAL*8 (A-H,O-Z)
1051 COMMON/FSI_JR/JRAT
1052 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS,
1053 1 X,Y,Z,T,RP,RPS
1054 COMMON/FSI_SPIN/RHO(10)
1055 COMMON/FSI_ETA/ETA
1056 COMMON/FSI_AA/AA
1057 COMMON/FSI_FFF/F12,F21
1058 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
1059 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
1060 COMMON/FSI_FD/FD(10),RD(10)
1061 COMMON/FSI_RR/F(10)
1062 COMMON/FSI_C/C(10),AM,AMS,DM
1063 COMMON/FSI_COULPH/EIDC
1064 COMPLEX*16 F,C,G,PSI12,PSI21
1065 COMPLEX*16 F12,F21
1066 COMPLEX*16 EIDC
1067 COMPLEX*8 Z8,CGAMMA
1068 COMMON/FSI_FFPN/FF12,FF21
1069 COMPLEX*16 FF12,FF21
1070 COMMON/FSI_2CHA/AK2,AK2S,AAK,HCP2,AMU2_AMU1 ! k* (kappa) for 2-nd channel
1071 WEI=0.D0
1072 IF(JRAT.EQ.1)GOTO 11
1073 RHOS=AK*RP
1074 HS=X*PPX+Y*PPY+Z*PPZ
1075 IF(RHOS.LT.15.D0.AND.RHOS+DABS(HS).LT.20.D0)GOTO 2
1076C---Calc. EIDC=exp(i*Coul.Ph.);
1077C-- used in calc. of hypergeom. f-s in SEQA, FAS at k*R > 15, 20
1078 Z8=CMPLX(1.,SNGL(ETA))
1079 Z8=CGAMMA(Z8)
1080 EIDC=Z8/CABS(Z8)
1081 2 CALL FF(RHOS,HS)
1082 11 MSP=MSPIN
1083 IF(ISI.EQ.0)GOTO 4 ! the strong interaction ON (OFF) if ISI=1(0)
1084 IF(RP.LT.AA)GOTO 4
1085 IF(JRAT.NE.1) CALL FIRT
1086 IF(IQS.EQ.0)GOTO 5 ! the quantum statistics ON (OFF) if IQS=1(0)
1087 JSIGN=-1
1088 DO 1 JJ=1,MSP
1089 JSIGN=-JSIGN
1090 G=F(JJ)*C(JJ)
1091 IF(ICH.EQ.1)G=G*ACHR
1092 PSI12=FF12*(F12+G)
1093 PSI21=FF21*(F21+G)
1094 G=PSI12+JSIGN*PSI21
1095 1 WEI=WEI+RHO(JJ)*(DREAL(G)**2+DIMAG(G)**2)
1096 GOTO 8
1097 5 DO 6 JJ=1,MSP
1098 G=F(JJ)*C(JJ)
1099 IF(ICH.EQ.1)G=G*ACHR
1100CW WRITE(6,38)'JJ ',JJ,'F ',DREAL(F(JJ)),DIMAG(F(JJ))
1101CW WRITE(6,38)'JJ ',JJ,'C ',DREAL(C(JJ)),DIMAG(C(JJ))
1102CW WRITE(6,38)'JJ ',JJ,'G ',DREAL(G),DIMAG(G)
1103CW WRITE(6,38)'JJ ',JJ,'F12+G ',DREAL(F12+G),DIMAG(F12+G)
1104CW WRITE(6,38)'JJ ',JJ,'F21+G ',DREAL(F21+G),DIMAG(F21+G)
110538 FORMAT(A7,I3,A7,2E11.4)
1106 PSI12=FF12*(F12+G)
1107 6 WEI=WEI+RHO(JJ)*(DREAL(PSI12)**2+DIMAG(PSI12)**2)
1108c--- Account for nn-bar->pp-bar channel ---------------------------
1109 IF(LL.EQ.30)THEN
1110 DO 61 JJ=1,MSP
1111 HH=RHO(JJ)*(DREAL(C(JJ+2))**2+DIMAG(C(JJ+2))**2)*
1112 * AMU2_AMU1*ACH/RPS
1113 IF(AK2S.LT.0)HH=HH*DEXP(-2*RP*AK2)
1114 61 WEI=WEI+HH
1115 ENDIF
1116c------------------------------------------------------------------
1117 RETURN
1118 4 PSI12=FF12*F12
1119 IF(IQS.EQ.0)GOTO 50 ! the quantum statistics ON (OFF) if IQS=1(0)
1120 PSI21=FF21*F21
1121 JSIGN=-1
1122 DO 3 JJ=1,MSP
1123 JSIGN=-JSIGN
1124 G=PSI12+JSIGN*PSI21
1125 3 WEI=WEI+RHO(JJ)*(DREAL(G)**2+DIMAG(G)**2)
1126 GOTO 8
1127 50 WEI=DREAL(PSI12)**2+DIMAG(PSI12)**2
1128 RETURN
1129 8 WEI=WEI/2
1130 RETURN
1131 END
1132 SUBROUTINE FIRT
1133C---CALC. THE F(JJ)
1134C-- F(JJ)*C(JJ)= DEVIATION OF THE BETHE-SALPETER AMPL. FROM PLANE WAVE
1135 IMPLICIT REAL*8 (A-H,O-Z)
1136 COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS,
1137 1 X,Y,Z,T,RP,RPS
1138 COMMON/FSI_SHH/SH,CHH
1139 COMMON/FSI_BP/B,P
1140 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
1141 COMMON/FSI_C/C(10),AM,AMS,DM
1142 COMMON/FSI_SW/RB(10),EB(10),BK(10),CDK(10),SDK(10),
1143 1 SBKRB(10),SDKK(10)
1144 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
1145 COMMON/FSI_RR/F(10)
1146 EQUIVALENCE(RSS,RP),(TSS,T)
1147 COMPLEX*16 F,C,CH1
1148 MSP=MSPIN
1149 DO 10 JJ=1,MSP
1150 IF(JJ.GT.1)GOTO 3
1151 XRA=2*RSS/AC
1152 IF(AK.NE.0.D0)GOTO2
1153 SHK=1.D0
1154 SH=.0D0
1155 SHH=SH
1156 CHH=1/RSS
1157 GOTO3
1158 2 H=AK*RSS
1159 CALL GST(XRA,H)
1160 SH=SH/RSS
1161 CHH=CHH/RSS
1162 SHH=SH
1163 IF(ICH.EQ.1) SHH=ACH*SH
1164 3 IF(NS.EQ.2)GOTO1
1165C---F= ASYMPTOTIC FORMULA (T= 0 APPROX.); NS= 4
1166 6 F(JJ)=DCMPLX(CHH,SHH)
1167 IF(NS.NE.1)GOTO 10
1168C---F INSIDE THE SQUARE-WELL (T= 0 APPROX.); NS= 1
1169 IF(RSS.GE.RB(JJ)) GOTO 10
1170 IF(AK.NE.0.D0.AND.JJ.EQ.1)SHK=SH/AK
1171 H=BK(JJ)*RSS
1172 CALL GST(XRA,H)
1173 SKR=B*BK(JJ)
1174 F(JJ)=DCMPLX(CDK(JJ),SDK(JJ))*SKR
1175 CH1=(SDKK(JJ)*SKR-SHK*SBKRB(JJ))/C(JJ)
1176 F(JJ)=(F(JJ)+CH1)/SBKRB(JJ)
1177 GOTO 10
1178 1 CONTINUE
1179C---F= ASYMPTOTIC FORMULA (T= 0 NOT REQUIRED); NS= 2
1180 IF(JJ.GT.1)GOTO 8
1181 IF(TSS.EQ.0.D0)GOTO6
1182 TSSA=DABS(TSS)
1183 IF(DM.NE.0.D0)GOTO 11
1184 H=AM*.5D0/TSSA
1185 IF(AK.NE.0.D0)GOTO4
1186 HM=H*RPS
1187 IF(HM.GE.3.D15)GOTO6
1188 FS1=DFRSIN(HM)
1189 FC1=DFRCOS(HM)
1190 FC2=FC1
1191 FS2=FS1
1192 GOTO5
1193 4 CONTINUE
1194 H1=AK*TSSA/AM
1195 HM=H*(RSS-H1)**2
1196 HP=H*(RSS+H1)**2
1197 IF(HP.GE.3.D15)GOTO6
1198 FS1=DFRSIN(HM)
1199 FC1=DFRCOS(HM)
1200 FS2=DFRSIN(HP)
1201 FC2=DFRCOS(HP)
1202 GOTO 5
1203 11 CONTINUE
1204 FS1=0.D0
1205 FS2=0.D0
1206 FC1=0.D0
1207 FC2=0.D0
1208 DO 13 I=1,2
1209 IF(I.EQ.1)TSSH=TSSA*(1+DM)
1210 IF(I.EQ.2)TSSH=TSSA*(1-DM)
1211 H=AM*.5D0/TSSH
1212 IF(AK.NE.0.D0)GOTO 12
1213 HM=H*RPS
1214 IF(HM.GE.3.D15)GOTO6
1215 FS1=FS1+DFRSIN(HM)/2
1216 FC1=FC1+DFRCOS(HM)/2
1217 IF(I.EQ.1)GOTO 13
1218 FC2=FC1
1219 FS2=FS1
1220 GOTO 13
1221 12 CONTINUE
1222 H1=AK*TSSH/AM
1223 HM=H*(RSS-H1)**2
1224 HP=H*(RSS+H1)**2
1225 IF(HP.GE.3.D15)GOTO6
1226 FS1=FS1+DFRSIN(HM)/2
1227 FC1=FC1+DFRCOS(HM)/2
1228 FS2=FS2+DFRSIN(HP)/2
1229 FC2=FC2+DFRCOS(HP)/2
1230 13 CONTINUE
1231 5 C12=FC1+FS2
1232 S12=FS1+FC2
1233 A12=FS1-FC2
1234 A21=FS2-FC1
1235 A2=.5D0*(CHH*(A12+A21)+SH*(A12-A21))+SHH
1236 A1=.5D0*(CHH*(C12+S12)+SH*(C12-S12))
1237 F(JJ)=.3989422D0*DCMPLX(A1,A2)
1238 GOTO 10
1239 8 F(JJ)=F(1)
1240 10 CONTINUE
1241 RETURN
1242 END
1243 FUNCTION EXF(X)
1244 IMPLICIT REAL*8 (A-H,O-Z)
1245 IF(X.LT.-15.D0) GO TO 1
1246 EXF=DEXP(X)
1247 RETURN
1248 1 EXF=.0D0
1249 RETURN
1250 END
1251 SUBROUTINE SEQ(X,H)
1252C---CALC. FUNCTIONS B, P (EQS. (17) OF G-K-L-L);
1253C-- NEEDED TO CALC. THE CONFLUENT HYPERGEOMETRIC FUNCTION GST.
1254 IMPLICIT REAL*8 (A-H,O-Z)
1255 COMMON/FSI_BP/B,P
1256 DIMENSION BH(3),PH(3)
1257 DATA ERR/1.D-7/
1258 BH(1)=1.D0
1259 PH(1)=1.D0
1260 PH(2)=.0D0
1261 BH(2)=.5D0*X
1262 B=1+BH(2)
1263 P=1.D0
1264 HS=H*H
1265 J=0
1266 2 J=J+1
1267 BH(3)=(X*BH(2)-HS*BH(1))/((J+1)*(J+2))
1268 PH(3)=(X*PH(2)-HS*PH(1)-(2*J+1)*X*BH(2))/(J*(J+1))
1269 B=B+BH(3)
1270 P=P+PH(3)
1271 Z=DABS(BH(2))+DABS(BH(3))+DABS(PH(2))+DABS(PH(3))
1272 IF(Z.LT.ERR)RETURN
1273 BH(1)=BH(2)
1274 BH(2)=BH(3)
1275 PH(1)=PH(2)
1276 PH(2)=PH(3)
1277 GOTO 2
1278 END
1279 SUBROUTINE SEQA(X,H)
1280C---CALC. FUNCTIONS CHH=REAL(GST), SH=IMAG(GST)/ACH, B=SH/H
1281C-- IN THE ASYMPTOTIC REGION H=K*R >> 1.
1282 IMPLICIT REAL*8 (A-H,O-Z)
1283 COMMON/FSI_BP/B,P
1284 COMMON/FSI_SHH/SH,CHH
1285 COMMON/FSI_ETA/ETA
1286 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
1287 COMMON/FSI_COULPH/EIDC
1288 COMPLEX*16 EIDC,GST
1289 ARG=H-ETA*DLOG(2*H)
1290 GST=DCMPLX(DCOS(ARG),DSIN(ARG))
1291 GST=ACHR*EIDC*GST
1292 CHH=DREAL(GST)
1293 SH=DIMAG(GST)/ACH
1294 B=SH/H
1295 RETURN
1296 END
1297 SUBROUTINE FF(RHO,H)
1298C---Calc. F12, F21;
1299C-- F12= FF0* plane wave, FF0=F*ACHR,
1300C---F is the confluent hypergeometric function,
1301C-- ACHR=sqrt(ACH), where ACH is the Coulomb factor
1302 IMPLICIT REAL*8 (A-H,O-Z)
1303 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
1304 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
1305 COMMON/FSI_ETA/ETA
1306 COMMON/FSI_FFF/F12,F21
1307 COMPLEX*16 FF0,F12,F21
1308 C=DCOS(H)
1309 S=DSIN(H)
1310 F12=DCMPLX(C,-S)
1311 F21=DCMPLX(C,S)
1312 IF(ICH.EQ.0)RETURN
1313 RHOP=RHO+H
1314 RHOM=RHO-H
1315 F12=FF0(RHO,H)*F12
1316 F21=FF0(RHO,-H)*F21
1317 RETURN
1318 END
1319 FUNCTION FAS(RKS)
1320C-- FAS=F*ACHR
1321C---F is the confluent hypergeometric function at k*r >> 1
1322C-- ACHR=sqrt(ACH), where ACH is the Coulomb factor
1323 IMPLICIT REAL*8 (A-H,O-Z)
1324 COMPLEX*16 FAS,EIDC,ZZ1
1325 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
1326 COMMON/FSI_ETA/ETA
1327 COMMON/FSI_COULPH/EIDC
1328 D1=DLOG(RKS)*ETA
1329 D2=ETA*ETA/RKS
1330 ZZ1=DCMPLX(DCOS(D1),DSIN(D1))/EIDC
1331 FAS=DCMPLX(1.D0,-D2)*ZZ1
1332 FAS=FAS-DCMPLX(DCOS(RKS),DSIN(RKS))*ETA/RKS/ZZ1
1333 RETURN
1334 END
1335 FUNCTION FF0(RHO,H)
1336C-- FF0=F*ACHR
1337C-- F is the confluent hypergeometric function
1338C-- (Eq. (15) of G-K-L-L), F= 1 at r* << AC
1339C-- ACHR=sqrt(ACH), where ACH is the Coulomb factor
1340 IMPLICIT REAL*8 (A-H,O-Z)
1341 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
1342 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
1343 COMMON/FSI_ETA/ETA
1344 COMPLEX*16 ALF,ALF1,Z,S,A,FF0,FAS
1345 DATA ERR/1.D-5/
1346 S=DCMPLX(1.D0,0.D0)
1347 FF0=S
1348 RHOP=RHO+H
1349CC GOTO 5 ! rejects the approx. calcul. of hyperg. f-ion F
1350 IF(RHOP.LT.20.D0)GOTO5
1351 FF0=FAS(RHOP) ! approx. calc.
1352 RETURN
1353 5 ALF=DCMPLX(.0D0,-ETA)
1354 ALF1=ALF-1
1355 Z=DCMPLX(.0D0,RHOP)
1356 J=0
1357 3 J=J+1
1358 A=(ALF1+J)/(J*J)
1359 S=S*A*Z
1360 FF0=FF0+S
1361 ZR=DABS(DREAL(S))
1362 ZI=DABS(DIMAG(S))
1363 IF((ZR+ZI).GT.ERR)GOTO3
1364 FF0=FF0*ACHR
1365 RETURN
1366 END
1367 FUNCTION HC(XA)
1368C---HC = h-function of Landau-Lifshitz: h(x)=Re[psi(1-i/x)]+ln(x)
1369C-- psi(x) is the digamma function (the logarithmic derivative of
1370C-- the gamma function)
1371 IMPLICIT REAL*8 (A-H,O-Z)
1372 DIMENSION BN(15)
1373 DATA BN/.8333333333D-1,.8333333333D-2,.396825396825D-2,
1374 1 .4166666667D-2,.7575757576D-2,.2109279609D-1,
1375 2 .8333333333D-1,.4432598039D0 ,.305395433D1,
1376 3 .2645621212D2, .2814601449D3, .3607510546D4,
1377 4 .5482758333D5, .9749368235D6, .200526958D8/
1378 X=DABS(XA)
1379 IF(X.LT..33D0) GOTO 1
1380CC IF(X.GE.3.5D0) GO TO 2
1381 S=.0D0
1382 N=0
1383 3 N=N+1
1384 DS=1.D0/N/((N*X)**2+1)
1385 S=S+DS
1386 IF(DS.GT.0.1D-12) GOTO 3
1387C---Provides 7 digit accuracy
1388 HC=S-.5772156649D0+DLOG(X)
1389 RETURN
1390CC 2 HC=1.2D0/X**2+DLOG(X)-.5772156649 D0
1391CC RETURN
1392 1 X2=X*X
1393 XP=X2
1394 HC=0.D0
1395 IMA=9
1396 IF(X.LT.0.1D0)IMA=3
1397 DO 4 I=1,IMA
1398 HC=HC+XP*BN(I)
1399 4 XP=X2*XP
1400 RETURN
1401 END
1402 FUNCTION ACP(X)
1403C--- ACP = COULOMB PENETRATION FACTOR
1404 IMPLICIT REAL*8 (A-H,O-Z)
1405 IF(X.LT.0.05D0.AND.X.GE.0.D0) GO TO 1
1406 Y=6.2831853D0/X
1407 ACP=Y/(EXF(Y)-1)
1408 RETURN
1409 1 ACP=1.D-6
1410 RETURN
1411 END
1412 SUBROUTINE GST(X,H)
1413C---CALC. THE CONFL. HYPERGEOM. F-N = CHH+i*SH
1414C-- AND THE COULOMB F-S B, P (CALLS SEQ OR SEQA).
1415 IMPLICIT REAL*8 (A-H,O-Z)
1416 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
1417 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
1418 COMMON/FSI_SHH/SH,CHH
1419 COMMON/FSI_BP/B,P
1420 1 IF(ICH.EQ.1)GOTO 2
1421 3 SH=DSIN(H)
1422 CHH=DCOS(H)
1423 B=1.D0
1424 IF(H.NE.0.D0)B=SH/H
1425 P=CHH
1426 RETURN
1427 2 CONTINUE
1428 IF(H.GT.15.D0)GOTO4 ! comment out if you want to reject
1429 ! the approximate calculation of hyperg. f-ion G
1430 CALL SEQ(X,H) ! exact calculation
1431 SH=H*B
1432 CHH=P+B*X*(DLOG(DABS(X))+HPR)
1433 RETURN
1434 4 CALL SEQA(X,H)
1435 RETURN
1436 END
1437 FUNCTION FF1(RHO,H)
1438C---FF1=FF0; used for particle-nucleus system
1439C-- FF0=F12*ACHR
1440C-- F12 is the confluent hypergeometric function
1441C-- (Eq. (15) of G-K-L-L), F12= 1 at r* << AC
1442C-- ACHR=sqrt(ACH), where ACH is the Coulomb factor
1443 IMPLICIT REAL*8 (A-H,O-Z)
1444 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN
1445 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
1446 COMMON/FSI_ETA/ETA
1447 COMMON/FSI_COULPH/EIDC
1448 COMMON/FSI_ICH1/ICH1
1449 COMPLEX*16 FF0,FF1
1450 COMPLEX*16 EIDC
1451 COMPLEX*8 Z8,CGAMMA
1452 FF1=DCMPLX(1.D0,0.D0)
1453 IF(ICH1.EQ.0)GOTO 2
1454 IF(RHO.LT.15.D0.AND.RHO+H.LT.20.D0)GOTO 2
1455C---Calc. EIDC=exp(i*Coul.Ph.);
1456C-- used in calc. of hypergeom. f-s in SEQA, FAS at k*R > 15, 20
1457 Z8=CMPLX(1.,SNGL(ETA))
1458 Z8=CGAMMA(Z8)
1459 EIDC=Z8/CABS(Z8)
1460 2 FF1=FF0(RHO,H)
1461 RETURN
1462 END
1463
1464 FUNCTION G(AK)
1465C---Used to calculate SW scattering amplitude for alpa-alpha system
1466C-- and for sear.f (square well potential search)
1467C---NOTE THAT SCATT. AMPL.= 1/CMPLX(G(AK),-AK*ACH)
1468 IMPLICIT REAL*8 (A-H,O-Z)
1469 COMMON/FSI_SW/RB(10),EB(10),BK(10),CDK(10),SDK(10),
1470 1 SBKRB(10),SDKK(10)
1471 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
1472 COMMON/FSI_ACH/HPR,AC,ACH,ACHR,JJ,MSPIN
1473 COMMON/FSI_BP/B,P/FSI_DERIV/BPR,PPR/FSI_SHH/SH,CHH
1474 COMMON/FSI_DAK/DAK,HAC,IFUN
1475 HAC=.0D0
1476 ACH=1.D0
1477 IF(ICH.EQ.0)GOTO 1
1478 XH=AC*AK
1479 HCP=HC(XH)
1480 HPR=HCP+.1544313298D0
1481 ACH=ACP(XH)
1482 HAC=2*HCP/AC
1483 1 AKS=AK**2
1484 BK(JJ)=DSQRT(AKS+EB(JJ)**2) ! kappa=kp
1485 X=2*RB(JJ)/AC
1486 H=BK(JJ)*RB(JJ) ! kp*d
1487 CALL GST(X,H)
1488 BRHO=B ! B(kp,d)
1489 SBKRB(JJ)=SH ! kp*d*B(kp,d)
1490 CALL DERIW(X,H)
1491 BRHOP=BPR ! B'(kp,d)= dB(kp,r)/dln(r) at r=d
1492 H=AK*RB(JJ)
1493 CALL GST(X,H)
1494 CDK(JJ)=CHH ! ReG(k,d)
1495 BRHOS=B ! B(k,d)
1496 PRHOS=P ! P(k,d)
1497 SDK(JJ)=SH
1498 IF(ICH.EQ.0)GOTO 2
1499 SDK(JJ)=ACH*SH ! ImG(k,d)
1500 IF(AK.EQ.0.D0.AND.AC.LT.0.D0)SDK(JJ)=3.14159*X*B
1501 2 SDKK(JJ)=RB(JJ)
1502 IF(AK.NE.0.D0)SDKK(JJ)=SH/AK ! d*B(k,d)
1503 CALL DERIW(X,H) ! PPR=P'(k,d)= dP(k,r)/dln(r) at r=d
1504 ZZ=PPR-PRHOS
1505 IF(ICH.EQ.1)ZZ=ZZ+X*(BRHOS+BPR*(DLOG(DABS(X))+HPR))
1506C ZZ= P'(k,d)-P(k,d)+x*{B(k,d)+B'(k,d)*[ln!x!+2*C-1+h(k*ac)]}
1507 GG=(BRHOP*CDK(JJ)-BRHO*ZZ)/RB(JJ)
1508C GG= [B'(kp,d)*ReG(k,d)-B(kp,d)*ZZ]/d
1509 G=GG/(BRHO*BPR-BRHOP*BRHOS)
1510C G= GG/[B(kp,d)*B'(k,d)-B'(kp,d)*B(k,d)]
1511 RETURN
1512 END
1513 SUBROUTINE DERIW(X,H)
1514C---CALLED BY F-N G(AK)
1515 IMPLICIT REAL*8 (A-H,O-Z)
1516 COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S
1517 COMMON/FSI_BP/B,P/FSI_DERIV/BPR,PPR
1518 HH=.1D-3
1519 CALL GST(X,H-HH)
1520 Q1=P
1521 B1=B
1522 CALL GST(X,H+HH)
1523 HHH=HH+HH
1524 BPR=H*(B-B1)/HHH
1525 PPR=H*(P-Q1)/HHH
1526 IF(ICH.EQ.0)RETURN
1527 CALL GST(X-HH,H)
1528 Q1=P
1529 B1=B
1530 CALL GST(X+HH,H)
1531 BPR=BPR+X*(B-B1)/HHH
1532 PPR=PPR+X*(P-Q1)/HHH
1533 RETURN
1534 END
1535C================================================================
1536
1537 SUBROUTINE READ_FILE(KEY,CH8,INT4,REAL8,IERR,NUNIT)
1538C ==========
1539C
1540C Routine to read one parameter of the program in the file
1541C DATA NUNIT defined in FSI3B EXEC
1542C NUNIT=11 for IBM in Nantes, 4 for SUN in Prague
1543C
1544C INPUT : KEY (CHARACTER*10) :
1545C OUTPUT : case of KEY : CH8 : (CHARACTER*8)
1546C INT4 : (INTEGER*4)
1547C REAL8 : (REAL*8)
1548C (only one of them)
1549C IERR (INTEGER) : 0 : no error
1550C 1 : key not found
1551
1552 CHARACTER*10 KEY,TEST
1553 CHARACTER*4 TYPE
1554 CHARACTER*8 CH8
1555 INTEGER*4 INT4
1556 REAL*8 REAL8
1557 INTEGER*4 IERR
1558
1559 IERR=0
1560 REWIND(NUNIT)
15611 READ(NUNIT,FMT='(A10,2X,A4)')TEST,TYPE
1562 IF (TEST.EQ.KEY) THEN
1563 BACKSPACE(NUNIT)
1564 IF (TYPE.EQ.'CHAR') READ(NUNIT,FMT='(18X,A8,54X)')CH8
1565 IF (TYPE.EQ.'INT4') READ(NUNIT,FMT='(18X,I8,54X)')INT4
1566 IF (TYPE.EQ.'REA8') READ(NUNIT,FMT='(18X,F10.5,52X)')REAL8
1567 ELSE
1568 IF (TEST.NE.'* E.O.F. *') THEN
1569 GOTO 1
1570 ELSE
1571 IERR=1
1572 ENDIF
1573 ENDIF
1574c IF(IERR.EQ.1)STOP
1575 RETURN
1576 END
1577