EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
lnstrf.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file lnstrf.F
1 
2 C ********************************************************************
3 
4  SUBROUTINE lnstrf(X,Q2,XPQ)
5 
6  IMPLICIT NONE
7 
8 C...Structure function per nucleon for a proton/neutron mixture
9 C...according to defined nucleus.
10 CGI-001122 Updated to save and mix total d- and u-quark distributions
11 C...instead of only the valence parts.
12 
13 *
14 * to avoid variable conflictions, a second keep element is necessary
15 * with the same common block name (see LEPTO2)
16 *
17 
18  COMMON /leptou/ cut(14),lst(40),parl(30),
19  & xlp,ylp,w2lp,q2lp,ulp
20  REAL cut,parl,xlp,ylp,w2lp,q2lp,ulp
21  INTEGER lst
22  SAVE /leptou/
23 
24 
25  COMMON /linter/ pari(50),ewqc(2,2,8),qc(8),zl(2,4),zq(2,8),pq(17)
26  REAL pari,ewqc,qc,zl,zq,pq
27  SAVE /linter/
28 
29  REAL x,q2,xpq,xdv,xuv,xd,xu,xub,xdb
30  dimension xpq(-6:6)
31 
32  CALL lystfu(2212,x,q2,xpq)
33 
34  IF(pari(11).LE.1.e-06) RETURN
35 C...Total d- and u-quark densities in proton, save for use in LEPTOX
36  xd=xpq(1)
37  xu=xpq(2)
38  pari(12)=xd
39  pari(13)=xu
40 CMM-010306 Saving the anti d- and anti u-quark densities
41 Cstep1
42 C...anti-d- and anti-u-quark densities in proton, save for use in LEPTOX
43  xdb=xpq(-1)
44  xub=xpq(-2)
45  pari(42)=xdb
46  pari(43)=xub
47  IF(lst(39).EQ.0) THEN
48 C...For nuclear target, mix d- and u-quark distributions.
49  xpq(1)=(1.-pari(11))*xd+pari(11)*xu
50  xpq(2)=(1.-pari(11))*xu+pari(11)*xd
51 C...mix anti-d- and anti-u-quark distributions.
52  xpq(-1)=(1.-pari(11))*xdb+pari(11)*xub
53  xpq(-2)=(1.-pari(11))*xub+pari(11)*xdb
54  ENDIF
55  RETURN
56  END