AliPDG class, first commit.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Dec 2000 16:48:39 +0000 (16:48 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Dec 2000 16:48:39 +0000 (16:48 +0000)
STEER/AliPDG.cxx [new file with mode: 0644]
STEER/AliPDG.h
STEER/Makefile
STEER/STEERLinkDef.h

diff --git a/STEER/AliPDG.cxx b/STEER/AliPDG.cxx
new file mode 100644 (file)
index 0000000..30f0419
--- /dev/null
@@ -0,0 +1,351 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/*
+$Log$
+*/
+
+// Class to encapsulate the ALICE updates to TDatabasePDG.h
+// Can be used by TGeant3 and TGeant4
+// It contains also the constants for the PDG particle IDs.
+// Should evolve towards dynamical loading from external data base.
+// Comments to: andreas.morsch@cern.ch 
+
+#include "AliPDG.h"
+#include "TDatabasePDG.h"
+
+ClassImp(AliPDG)
+
+    void AliPDG::AddParticlesToPdgDataBase()
+{
+
+//
+// Add particles to the PDG data base
+
+    TDatabasePDG *pdgDB = TDatabasePDG::Instance();
+
+    const Int_t kion=10000000;
+    const Int_t kspe=50000000;
+
+    const Double_t kAu2Gev=0.9314943228;
+    const Double_t khSlash = 1.0545726663e-27;
+    const Double_t kErg2Gev = 1/1.6021773349e-3;
+    const Double_t khShGev = khSlash*kErg2Gev;
+    const Double_t kYear2Sec = 3600*24*365.25;
+//
+// Bottom mesons
+// mass and life-time from PDG
+    pdgDB->AddParticle("B(s)*0","B(s)*0",
+                      5.4163, kTRUE, 0.047, +0.,"Meson",  533);
+    
+    pdgDB->AddParticle("B(s)*0 bar","B(s)*0 bar",
+                      5.4163, kTRUE, 0.047, -0.,"Meson", -533);
+    
+// Charmed baryons
+// 
+// value for mass used by Hijing
+    pdgDB->AddParticle("Sigma(c)*+","Sigma(c)*+",
+                      2.4536, kTRUE, -1., +1.,"Baryon",  4214);
+    
+    pdgDB->AddParticle("Sigma(c)*-","Sigma(c)*-",
+                      2.4536, kTRUE, -1., -1.,"Baryon", -4214);
+// equivalent to 4312 ? Hijing uses m=2.55
+    pdgDB->AddParticle("Xsi(c)0","Xsi(c)0",
+                      2.4703, kTRUE, -1., +0.,"Baryon",  4132);
+    
+    pdgDB->AddParticle("Xsi(c)0 bar","Xsi(c)0 bar",
+                      2.4703, kTRUE, -1., -0.,"Baryon", -4132);
+// equivalent to 4322 ? Hijing uses m=2.55
+    pdgDB->AddParticle("Xi(c)+","Xi(c)+",
+                      2.4656, kFALSE, -1., +1.,"Baryon",  4232);
+    
+    pdgDB->AddParticle("Xi(c)-","Xi(c)-",
+                      2.4656, kFALSE, -1., -1.,"Baryon", -4232);
+// mass values from Hijing
+    
+    pdgDB->AddParticle("Xsi(c)*0","Xsi(c)*0",
+                      2.63, kTRUE, -1., +0.,"Baryon",  4314);
+    
+    pdgDB->AddParticle("Xsi(c)*0 bar","Xsi(c)*0 bar",
+                      2.63, kTRUE, -1., -0.,"Baryon", -4314);
+    
+    pdgDB->AddParticle("Xsi(c)*+","Xsi(c)*+",
+                      2.63, kTRUE, -1., +1.,"Baryon",  4324);
+    
+    pdgDB->AddParticle("Xsi(c)*-","Xsi(c)*-",
+                      2.63, kTRUE, -1., -1.,"Baryon", -4324);
+    
+// pdg mass value, Hijing uses m=2.73.
+    pdgDB->AddParticle("Omega(c)0","Omega(c)0",
+                      2.7040, kFALSE, khShGev/0.064e-12, +0.,"Baryon",  4332);
+    
+    pdgDB->AddParticle("Omega(c)0 bar","Omega(c)0 bar",
+                      2.7040, kFALSE, khShGev/0.064e-12, -0.,"Baryon", -4332);
+// mass value from Hijing
+    pdgDB->AddParticle("Omega(c)*0","Omega(c)*0",
+                      2.8000, kFALSE, -1., +0.,"Baryon",  4334);
+    
+    pdgDB->AddParticle("Omega(c)*0 bar","Omega(c)*0",
+                      2.8000, kFALSE, -1., -0.,"Baryon", -4334);
+    
+    
+// Xi(cc)
+    
+    pdgDB->AddParticle("Xsi(cc)+","Xsi(cc)+",
+                    3.60, kTRUE, -1., +1.,"Baryon",  4412);
+    
+    pdgDB->AddParticle("Xsi(cc) bar-","Xsi(cc) bar-",
+                      3.60, kTRUE, -1., -1.,"Baryon", -4412);
+    
+    pdgDB->AddParticle("Xsi*(cc)+","Xsi*(cc)+",
+                      3.66, kTRUE, -1., +1.,"Baryon",  4414);
+
+    pdgDB->AddParticle("Xsi*(cc) bar-","Xsi*(cc) bar-",
+                      3.66, kTRUE, -1., -1.,"Baryon", -4414);
+    
+    
+    pdgDB->AddParticle("Xsi(cc)++","Xsi(cc)++",
+                      3.60, kTRUE, -1., +2.,"Baryon",  4422);
+    
+    pdgDB->AddParticle("Xsi(cc) bar--","Xsi(cc) bar--",
+                      3.60, kTRUE, -1., -2.,"Baryon", -4422);
+    
+    
+    pdgDB->AddParticle("Xsi*(cc)++","Xsi*(cc)++",
+                      3.66, kTRUE, -1., +2.,"Baryon",  4424);
+    
+    pdgDB->AddParticle("Xsi*(cc) bar-","Xsi*(cc) bar-",
+                      3.66, kTRUE, -1., -2.,"Baryon", -4424);
+    
+    pdgDB->AddParticle("Omega(cc)+","Omega(cc)+",
+                      3.78, kTRUE, -1., +1.,"Baryon",  4432);
+    
+    pdgDB->AddParticle("Omega(cc) bar-","Omega(cc) bar-",
+                      3.78, kTRUE, -1., -1.,"Baryon", -4432);
+    
+    pdgDB->AddParticle("Omega*(cc)+","Omega*(cc)+",
+                      3.82, kTRUE, -1., +1.,"Baryon",  4434);
+    
+    pdgDB->AddParticle("Omega*(cc) bar-","Omega*(cc) bar-",
+                      3.82, kTRUE, -1., -1.,"Baryon", -4434);
+    
+    
+    pdgDB->AddParticle("Omega*(ccc)+","Omega*(cc)++",
+                      4.91, kTRUE, -1., +2.,"Baryon",  4444);
+    
+    pdgDB->AddParticle("Omega*(ccc) bar--","Omega*(cc) bar--",
+                      4.91, kTRUE, -1., -2.,"Baryon", -4444);
+    
+    
+
+// Bottom baryons
+//
+// mass value from Hijing
+    pdgDB->AddParticle("Sigma(b)*+","Sigma(b)*+",
+                      5.8100, kFALSE, -1., +1.,"Baryon", 5224);
+    
+    pdgDB->AddParticle("Sigma(b)*-","Sigma(b)*-",
+                      5.8100, kFALSE, -1., -1.,"Baryon", -5224);
+    
+    
+    pdgDB->AddParticle("Xi(b)0","Xi(b)0",
+                      5.8400, kFALSE, -1., +0.,"Baryon", 5232);
+    
+    pdgDB->AddParticle("Xi(b)0 bar","Xi(b)0 bar",
+                      5.8100, kFALSE, -1., -0.,"Baryon", -5232);
+    
+// B(s) 
+    pdgDB->AddParticle("Xi'(b)-","Xi'(b)-",
+                      5.9600, kFALSE, -1., -1.,"Baryon", 5312);
+    
+    pdgDB->AddParticle("Xi'(b) bar+","Xi'(b) bar+",
+                      5.9600, kFALSE, -1.,  1.,"Baryon", -5312);
+    
+    pdgDB->AddParticle("Xi*(b)-","Xi*(b)-",
+                      5.9700, kFALSE, -1., -1.,"Baryon", 5314);
+    
+    pdgDB->AddParticle("Xi*(b) bar+","Xi*(b) bar+",
+                      5.9700, kFALSE, -1.,  1.,"Baryon", -5314);
+    
+    pdgDB->AddParticle("Xi'(b)0","Xi'(b)0",
+                      5.9600, kFALSE, -1., -0.,"Baryon", 5322);
+    
+    pdgDB->AddParticle("Xi'(b) bar0","Xi'(b) bar0",
+                      5.9600, kFALSE, -1.,  0.,"Baryon", -5322);
+    
+    pdgDB->AddParticle("Xi*(b)0","Xi*(b)0",
+                      5.9700, kFALSE, -1., -0.,"Baryon", 5324);
+    
+    pdgDB->AddParticle("Xi*(b) bar0","Xi*(b) bar0",
+                      5.9700, kFALSE, -1.,  0.,"Baryon", -5324);
+    
+    pdgDB->AddParticle("Omega(b)-","Omega(b)-",
+                      6.1200, kFALSE, -1., -1.,"Baryon", 5332);
+    
+    pdgDB->AddParticle("Omega(b) bar+","Omega(b) bar+",
+                      6.1200, kFALSE, -1.,  1.,"Baryon", -5332);
+    
+    pdgDB->AddParticle("Omega*(b)-","Omega*(b)-",
+                      6.1300, kFALSE, -1., -1.,"Baryon", 5334);
+    
+    pdgDB->AddParticle("Omega*(b) bar+","Omega*(b) bar+",
+                      6.1300, kFALSE, -1.,  1.,"Baryon", -5334);
+
+
+    pdgDB->AddParticle("Omega*(b)-","Omega*(b)-",
+                      6.1300, kFALSE, -1., -1.,"Baryon", 5334);
+    
+    pdgDB->AddParticle("Omega*(b) bar+","Omega*(b) bar+",
+                      6.1300, kFALSE, -1.,  1.,"Baryon", -5334);
+
+// B(c) 
+
+    pdgDB->AddParticle("Omega(bc)0","Omega(bc)0",
+                      7.1900, kFALSE, -1., -0.,"Baryon", 5342);
+    
+    pdgDB->AddParticle("Omega(bc) bar0","Omega(bc) bar0",
+                      7.1900, kFALSE, -1.,  0.,"Baryon", -5342);
+    
+    pdgDB->AddParticle("Xi'(bc)0","Xi'(bc)0",
+                      7.0400, kFALSE, -1., -0.,"Baryon", 5412);
+    
+    pdgDB->AddParticle("Xi'(bc) bar0","Xi'(bc) bar0",
+                      7.0400, kFALSE, -1.,  0.,"Baryon", -5412);
+    
+    pdgDB->AddParticle("Xi*(bc)0","Xi*(bc)0",
+                      7.0500, kFALSE, -1., -0.,"Baryon", 5414);
+    
+    pdgDB->AddParticle("Xi*(bc) bar0","Xi*(bc) bar0",
+                      7.0500, kFALSE, -1.,  0.,"Baryon", -5414);
+    
+    pdgDB->AddParticle("Xi'(bc)+","Xi'(bc)+",
+                      7.0400, kFALSE, -1., +1.,"Baryon", 5422);
+    
+    pdgDB->AddParticle("Xi'(bc) bar-","Xi'(bc) bar-",
+                      7.0400, kFALSE, -1., -1.,"Baryon", -5422);
+    
+    pdgDB->AddParticle("Xi*(bc)+","Xi*(bc)+",
+                      7.0500, kFALSE, -1., +1.,"Baryon", 5424);
+    
+    pdgDB->AddParticle("Xi*(bc) bar-","Xi*(bc) bar-",
+                      7.0500, kFALSE, -1., -1.,"Baryon", -5424);
+    
+    pdgDB->AddParticle("Omega'(bc)0","Omega'(bc)0",
+                      7.2100, kFALSE, -1., -0.,"Baryon", 5432);
+    
+    pdgDB->AddParticle("Omega'(bc) bar0","Omega'(bc) bar0",
+                      7.2100, kFALSE, -1.,  0.,"Baryon", -5432);
+    
+    pdgDB->AddParticle("Omega*(bc)0","Omega*(bc)0",
+                      7.2200, kFALSE, -1., -0.,"Baryon", 5434);
+    
+    pdgDB->AddParticle("Omega*(bc) bar0","Omega*(bc) bar0",
+                      7.2200, kFALSE, -1.,  0.,"Baryon", -5434);
+// B(bcc)
+    pdgDB->AddParticle("Omega(bcc)+","Omega(bcc)+",
+                      8.3100, kFALSE, -1., +1.,"Baryon", 5442);
+    
+    pdgDB->AddParticle("Omega(bcc) bar-","Omega(bcc) bar-",
+                      8.3100, kFALSE, -1., -1.,"Baryon", -5442);
+    
+    pdgDB->AddParticle("Omega*(bcc)+","Omega*(bcc)+",
+                      8.3100, kFALSE, -1., +1.,"Baryon", 5444);
+    
+    pdgDB->AddParticle("Omega*(bcc) bar-","Omega*(bcc) bar-",
+                      8.3100, kFALSE, -1., -1.,"Baryon", -5444);
+
+
+
+
+// B(bb)
+
+    pdgDB->AddParticle("Xsi(bb)-","Xsi(bb)-",
+                      10.4200, kFALSE, -1., -1.,"Baryon", 5512);
+    
+    pdgDB->AddParticle("Xsi(bb) bar+","Xsi(bb) bar+",
+                      10.4200, kFALSE, -1., +1.,"Baryon", -5512);
+    
+    pdgDB->AddParticle("Xsi*(bb)-","Xsi*(bb)-",
+                      10.4400, kFALSE, -1., -1.,"Baryon", 5514);
+    
+    pdgDB->AddParticle("Xsi*(bb) bar+","Xsi*(bb) bar+",
+                      10.4400, kFALSE, -1., +1.,"Baryon", -5514);
+    
+    pdgDB->AddParticle("Xsi(bb)0","Xsi(bb)0",
+                      10.4200, kFALSE, -1., -0.,"Baryon", 5522);
+    
+    pdgDB->AddParticle("Xsi(bb) bar0","Xsi(bb) bar0",
+                      10.4200, kFALSE, -1., +0.,"Baryon", -5522);
+    
+    pdgDB->AddParticle("Xsi*(bb)0","Xsi*(bb)0",
+                      10.4400, kFALSE, -1., -0.,"Baryon", 5524);
+    
+    pdgDB->AddParticle("Xsi*(bb) bar0","Xsi*(bb) bar0",
+                      10.4400, kFALSE, -1., +0.,"Baryon", -5524);
+    
+    pdgDB->AddParticle("Omega*(bb)-","Omega(bb)-",
+                      10.6000, kFALSE, -1., -1.,"Baryon", 5532);
+    
+    pdgDB->AddParticle("Omega(bb) bar+","Omega(bb) bar+",
+                      10.6000, kFALSE, -1., +1.,"Baryon", -5532);
+    
+    pdgDB->AddParticle("Omega*(bb)-","Omega*(bb)-",
+                      10.6000, kFALSE, -1., -1.,"Baryon", 5534);
+    
+    pdgDB->AddParticle("Omega*(bb) bar+","Omega*(bb) bar+",
+                      10.6000, kFALSE, -1., +1.,"Baryon", -5534);
+    
+// B(bbc)
+    
+    pdgDB->AddParticle("Omega(bbc)0","Omega(bbc)0",
+                      11.7100, kFALSE, -1., -0.,"Baryon", 5542);
+    
+    pdgDB->AddParticle("Omega(bbc) bar0","Omega(bbc) bar0",
+                      11.7100, kFALSE, -1., +0.,"Baryon", -5542);
+    
+    pdgDB->AddParticle("Omega*(bbc)0","Omega*(bbc)0",
+                      11.7100, kFALSE, -1., -0.,"Baryon", 5544);
+
+    pdgDB->AddParticle("Omega*(bbc) bar0","Omega*(bbc) bar0",
+                    11.7100, kFALSE, -1., +0.,"Baryon", -5544);
+// B(bbb)
+    
+    pdgDB->AddParticle("Omega*(bbb)-","Omega*(bbb)-",
+                      15.1000, kFALSE, -1., -1.,"Baryon", 5544);
+
+    pdgDB->AddParticle("Omega*(bbb) bar+","Omega*(bbb) bar+",
+                      15.100, kFALSE, -1., +1.,"Baryon", -5544);
+    
+//
+// Ions 
+//
+
+  pdgDB->AddParticle("Deuteron","Deuteron",2*kAu2Gev+8.071e-3,kTRUE,
+                    0,1,"Ion",kion+10020);
+  pdgDB->AddParticle("Triton","Triton",3*kAu2Gev+14.931e-3,kFALSE,
+                    khShGev/(12.33*kYear2Sec),1,"Ion",kion+10030);
+  pdgDB->AddParticle("Alpha","Alpha",4*kAu2Gev+2.424e-3,kTRUE,
+                    khShGev/(12.33*kYear2Sec),2,"Ion",kion+20040);
+  pdgDB->AddParticle("HE3","HE3",3*kAu2Gev+14.931e-3,kFALSE,
+                    0,2,"Ion",kion+20030);
+
+//
+// special particles
+// 
+  pdgDB->AddParticle("Cherenkov","Cherenkov",0,kFALSE,
+                    0,0,"Special",kspe+50);
+  pdgDB->AddParticle("FeedbackPhoton","FeedbackPhoton",0,kFALSE,
+                    0,0,"Special",kspe+51);
+}
index 4e92ac4361b02d41b28f1d6d44990d2a4faf9362..25f8dfd2e2c89d06995efed3960af849c0845e34 100644 (file)
@@ -5,6 +5,12 @@
 
 /* $Id$ */
 
+// Class to encapsulate the ALICE updates to TDatabasePDG.h
+// Can be used by TGeant3 and TGeant4
+// It contains also the constants for the PDG particle IDs.
+
+#include "TObject.h"
+
 typedef enum {kRootino=0,kDown=1,kDownBar=-1,kUp=2,kUpBar=-2,kStrange=3,
          kStrangeBar=-3,kCharm=4,kCharmBar=-4,kBottom=5,
          kBottomBar=-5,kTop=6,kTopBar=-6,kGluon=21,kPythia92=92,
@@ -25,6 +31,13 @@ typedef enum {kRootino=0,kDown=1,kDownBar=-1,kUp=2,kUpBar=-2,kStrange=3,
          kSigma0Bar=-3212}
 PDG_t;   
 
+class AliPDG : public TObject {
+public:
+    static void AddParticlesToPdgDataBase();
+ private:
+    ClassDef(AliPDG,1)  // PDG database related information
+};
+
 /*
    "a(2)(1320)-",     -215
    "rho(3)(1690)+",    217
index 0a8c18f92e088f8397888e4a26ec957e2c459cf6..ee025b24feffeee8cf6475aa6235b3c696df848f 100644 (file)
@@ -16,9 +16,10 @@ SRCS          = AliDetector.cxx      AliHeader.cxx   AliMagF.cxx \
                AliGeometry.cxx AliRecPoint.cxx AliSegmentation.cxx \
                AliHitMap.cxx   AliMagFC.cxx    AliMagFCM.cxx \
                AliMagFDM.cxx   AliLegoGenerator.cxx AliLegoGeneratorXYZ.cxx\
-                AliLegoGeneratorEta.cxx        AliRndm.cxx \
-               AliKalmanTrack.cxx              AliCluster.cxx \
-               AliMCQA.cxx
+                AliLegoGeneratorPhiZ.cxx AliLegoGeneratorEta.cxx \
+                AliRndm.cxx \
+               AliKalmanTrack.cxx AliCluster.cxx \
+               AliMCQA.cxx AliPDG.cxx
 
 # C++ Headers
 
index 4814dbf83ef446c72f244b85c3a4e0827d622e5f..9e1443b1b74576ec2396dd1f0f8c30d761c46315 100644 (file)
@@ -31,6 +31,7 @@
 #pragma link C++ class  AliLego;
 #pragma link C++ class  AliLegoGenerator;
 #pragma link C++ class  AliLegoGeneratorXYZ;
+#pragma link C++ class  AliLegoGeneratorPhiZ;
 #pragma link C++ class  AliLegoGeneratorEta;
 #pragma link C++ class  AliDigitNew;
 #pragma link C++ class  AliGeometry;
@@ -41,6 +42,7 @@
 #pragma link C++ class  AliKalmanTrack-;
 #pragma link C++ class  AliRndm;
 #pragma link C++ class  AliMCQA;
+#pragma link C++ class  AliPDG;
 #endif