]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ISAJET/code/idanti.F
First commit.
[u/mrichter/AliRoot.git] / ISAJET / code / idanti.F
diff --git a/ISAJET/code/idanti.F b/ISAJET/code/idanti.F
new file mode 100644 (file)
index 0000000..72ac219
--- /dev/null
@@ -0,0 +1,60 @@
+#include "isajet/pilot.h"
+      INTEGER FUNCTION IDANTI(ID)
+C----------------------------------------------------------------------
+C-
+C-   Purpose and Methods :
+C-     Return value of antiparticle id
+C-
+C-   Inputs  :
+C-   ID = particle id
+C-
+C-   Created   1-JUN-1988   Serban D. Protopopescu
+C-   3-Jan-1993: Expand self-conjugate list for MSSM and simplify
+C                structure.  FEP
+C    17-Mar-1997: Correctly handle mesons with IDENT>10000
+C-
+C----------------------------------------------------------------------
+#if defined(CERNLIB_IMPNONE)
+      IMPLICIT NONE
+#endif
+      INTEGER ID,IFL1,IFL2,IFL3,IDABS
+      INTEGER NSELF,I
+      PARAMETER (NSELF=14)
+      INTEGER IDSELF(NSELF)
+      SAVE IDSELF
+      DATA IDSELF/9,10,20,29,30,40,50,60,81,82,83,84,90,91/
+C----------------------------------------------------------------------
+      IDABS=IABS(ID)
+      IFL1=MOD(IDABS/1000,10)
+C
+C          Baryons and diquarks
+C
+      IF(IFL1.NE.0) THEN
+        IDANTI=-ID
+        RETURN
+      ENDIF
+C
+C          Mesons
+C
+      IF(IDABS.GT.100.AND.IFL1.EQ.0) THEN
+        IFL2=MOD(IDABS/100,10)
+        IFL3=MOD(IDABS/10,10)
+        IF(IFL2.EQ.IFL3) THEN
+          IDANTI=+ID
+        ELSE
+          IDANTI=-ID
+        ENDIF
+        RETURN
+      ENDIF
+C
+C          Other particles
+C
+      DO 100 I=1,NSELF
+        IF(IDABS.EQ.IDSELF(I)) THEN
+          IDANTI=+ID
+          RETURN
+        ENDIF
+100   CONTINUE
+      IDANTI=-ID
+      RETURN
+      END