~maddevelopers/mg5amcnlo/2.9.4

« back to all changes in this revision

Viewing changes to vendor/StdHEP/src/stdhep/stdcquarks.F

pass to v2.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
      subroutine stdcquarks(it,kq1,kq2,kq3,kql,kqj,kqr,kqx)
 
3
 
 
4
C...Get signed constituent quarks of this particle
 
5
C
 
6
C      IT = index to HEPEVT common block
 
7
C      For particle ID, +/- HIJKLMN
 
8
C            KQX = H = flag tentative and special assignments
 
9
C            KQR = I = radial excitations
 
10
C            KQL = J = spin and orbital angular momentum
 
11
C            KQ3 = K = quark
 
12
C            KQ2 = L = quark
 
13
C            KQ1 = M = quark
 
14
C            KQJ = N = 2*Jspin + 1
 
15
 
 
16
      implicit none
 
17
 
 
18
      integer it,kq,kqa,kqx,kq3,kq2,kq1,kqj,kql,kqr,irt
 
19
 
 
20
#include "stdhep.inc"
 
21
 
 
22
      call stdquarks(it,kq1,kq2,kq3,kql,kqj,kqr,kqx)
 
23
      kq=idhep(it)
 
24
      kqa=iabs(kq)
 
25
      irt = mod(kqa,10000)
 
26
 
 
27
C...Simple cases: direct translation or special codes.
 
28
      if(kqa.le.100 .or. kqa.ge.10000000) then
 
29
      elseif(kqx.gt.0 .and. irt.le.100) then
 
30
      elseif(kqj.eq.0) then
 
31
C... KS, KL, pomeron and undefined
 
32
        if(kqa.eq.130 .or. kqa.eq.310)then
 
33
          kq1 = sign(kq1,kq)
 
34
          kq2 = -sign(kq2,kq)
 
35
        else
 
36
C... illegal
 
37
          kq1=0
 
38
          kq2=0
 
39
          kq3=0
 
40
        endif         
 
41
 
 
42
C...Construction from quark content for heavy meson, diquark, baryon.
 
43
      elseif(kq3.eq.0) then
 
44
        if(kq2.eq.3 .or. kq2.eq.5)then
 
45
C...Strange and beauty mesons.
 
46
          kq1 = sign(kq1,kq)
 
47
          kq2 = -sign(kq2,kq)
 
48
        else
 
49
C...All other mesons
 
50
          kq1 = -sign(kq1,kq)
 
51
          kq2 = sign(kq2,kq)
 
52
        endif
 
53
      elseif(kq1.eq.0) then
 
54
C...Diquarks.
 
55
        kq2 = sign(kq2,kq)
 
56
        kq3 = sign(kq3,kq)
 
57
      else
 
58
C...Baryons
 
59
        kq1 = sign(kq1,kq)
 
60
        kq2 = sign(kq2,kq)
 
61
        kq3 = sign(kq3,kq)
 
62
      endif
 
63
 
 
64
      return
 
65
      end