EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
attflv.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file attflv.f
1 C
2 C
3 C
4  SUBROUTINE attflv(ID,IDQ,IDQQ)
5  common/ranseed/nseed
6  SAVE /ranseed/
7 C
8  IF(abs(id).LT.100) THEN
9  nsign=1
10  idq=id/100
11  idqq=-id/10+idq*10
12  IF(abs(idq).EQ.3) nsign=-1
13  idq=nsign*idq
14  idqq=nsign*idqq
15  IF(idq.LT.0) THEN
16  id0=idq
17  idq=idqq
18  idqq=id0
19  ENDIF
20  RETURN
21  ENDIF
22 C ********return ID of quark(IDQ) and anti-quark(IDQQ)
23 C for pions and kaons
24 c
25 C Return LU ID for quarks and diquarks for proton(ID=2212)
26 C anti-proton(ID=-2212) and nuetron(ID=2112)
27 C LU ID for d=1,u=2, (ud)0=2101, (ud)1=2103,
28 C (dd)1=1103,(uu)1=2203.
29 C Use SU(6) weight proton=1/3d(uu)1 + 1/6u(ud)1 + 1/2u(ud)0
30 C nurtron=1/3u(dd)1 + 1/6d(ud)1 + 1/2d(ud)0
31 C
32  idq=2
33  IF(abs(id).EQ.2112) idq=1
34  idqq=2101
35  x=atl_ran(nseed)
36  IF(x.LE.0.5) go to 30
37  IF(x.GT.0.666667) go to 10
38  idqq=2103
39  go to 30
40 10 idq=1
41  idqq=2203
42  IF(abs(id).EQ.2112) THEN
43  idq=2
44  idqq=1103
45  ENDIF
46 30 IF(id.LT.0) THEN
47  id00=idqq
48  idqq=-idq
49  idq=-id00
50  ENDIF
51  RETURN
52  END