EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dnstrf.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file dnstrf.F
1 
2 *72*********************************************************************
3 
4  SUBROUTINE dnstrf(X,Q2,XDPQ)
5 
6  IMPLICIT NONE
7 
8  COMMON /linter/ pari(50),ewqc(2,2,8),qc(8),zl(2,4),zq(2,8),pq(17)
9  REAL pari,ewqc,qc,zl,zq,pq
10  SAVE /linter/
11 
12 *
13 * to avoid variable conflictions, a second keep element is necessary
14 * with the same common block name (see LEPTO2)
15 *
16 
17  COMMON /leptou/ cut(14),lst(40),parl(30),
18  & xlp,ylp,w2lp,q2lp,ulp
19  REAL cut,parl,xlp,ylp,w2lp,q2lp,ulp
20  INTEGER lst
21  SAVE /leptou/
22 
23 
24  REAL x,q2,xdpq,xdu,xdd,xdub,xddb
25  dimension xdpq(-6:6)
26 
27  IF(lst(15).LE.100) THEN
28  WRITE(6,5000) lst(15)
29  ELSEIF(lst(15).gt.100.and.lst(15).lt.1000) THEN !|bs> add LST(15)<1000
30  CALL dstfu(2212,x,q2,xdpq)
31  IF(pari(11).LE.1.e-06) RETURN
32 *... Save polarized d and u valence in proton.
33 *... USE TWO EMPTY CELLS OF ARRAY PARI: PARI(38) AND PARI(39)
34  xdd=xdpq(1)
35  xdu=xdpq(2)
36  pari(38)=xdd
37  pari(39)=xdu
38 C... ALEX: Seems to me that we need these in polleptox.F as well
39 C... USE TWO EMPTY CELLS OF ARRAY PARI: PARI(44) AND PARI(45)
40  xddb=xdpq(-1)
41  xdub=xdpq(-2)
42  pari(44)=xddb
43  pari(45)=xdub
44 C... For nuclear target, mix u- and d-valence distributions.
45  IF(lst(39).EQ.0) THEN
46  xdpq(1) =(1.-pari(11))*xdd+pari(11)*xdu
47  xdpq(2) =(1.-pari(11))*xdu+pari(11)*xdd
48  xdpq(-1)=(1.-pari(11))*xddb+pari(11)*xdub
49  xdpq(-2)=(1.-pari(11))*xdub+pari(11)*xddb
50  ENDIF
51  ENDIF
52 
53  5000 FORMAT(' Error: unknown polarized structure function;',
54  & ' library, set =',3i5)
55 
56  RETURN
57  END