]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/code/idanti.F
- The part of JETAN dealing with ESD data has been separated from the one using MC...
[u/mrichter/AliRoot.git] / ISAJET / code / idanti.F
1 #include "isajet/pilot.h"
2       INTEGER FUNCTION IDANTI(ID)
3 C----------------------------------------------------------------------
4 C-
5 C-   Purpose and Methods :
6 C-     Return value of antiparticle id
7 C-
8 C-   Inputs  :
9 C-   ID = particle id
10 C-
11 C-   Created   1-JUN-1988   Serban D. Protopopescu
12 C-   3-Jan-1993: Expand self-conjugate list for MSSM and simplify
13 C                structure.  FEP
14 C    17-Mar-1997: Correctly handle mesons with IDENT>10000
15 C-
16 C----------------------------------------------------------------------
17 #if defined(CERNLIB_IMPNONE)
18       IMPLICIT NONE
19 #endif
20       INTEGER ID,IFL1,IFL2,IFL3,IDABS
21       INTEGER NSELF,I
22       PARAMETER (NSELF=14)
23       INTEGER IDSELF(NSELF)
24       SAVE IDSELF
25       DATA IDSELF/9,10,20,29,30,40,50,60,81,82,83,84,90,91/
26 C----------------------------------------------------------------------
27       IDABS=IABS(ID)
28       IFL1=MOD(IDABS/1000,10)
29 C
30 C          Baryons and diquarks
31 C
32       IF(IFL1.NE.0) THEN
33         IDANTI=-ID
34         RETURN
35       ENDIF
36 C
37 C          Mesons
38 C
39       IF(IDABS.GT.100.AND.IFL1.EQ.0) THEN
40         IFL2=MOD(IDABS/100,10)
41         IFL3=MOD(IDABS/10,10)
42         IF(IFL2.EQ.IFL3) THEN
43           IDANTI=+ID
44         ELSE
45           IDANTI=-ID
46         ENDIF
47         RETURN
48       ENDIF
49 C
50 C          Other particles
51 C
52       DO 100 I=1,NSELF
53         IF(IDABS.EQ.IDSELF(I)) THEN
54           IDANTI=+ID
55           RETURN
56         ENDIF
57 100   CONTINUE
58       IDANTI=-ID
59       RETURN
60       END