Merging the VirtualMC branch to the main development branch (HEAD)
[u/mrichter/AliRoot.git] / STEER / AliPDG.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /*
17 $Log$
18 Revision 1.3.10.2  2002/10/14 09:45:57  hristov
19 Updating VirtualMC to v3-09-02
20
21 Revision 1.4  2002/09/16 08:22:36  morsch
22 Add Upsilon(3S) to particle data base.
23
24 Revision 1.3  2001/03/16 09:48:35  morsch
25 Exclude pdg particle definitions. Done by root now by default from Pythia6 table.
26
27 Revision 1.2  2001/01/31 14:32:42  morsch
28 Some B mesons added
29
30 Revision 1.1  2000/12/21 16:48:39  morsch
31 AliPDG class, first commit.
32
33 */
34
35 // Class to encapsulate the ALICE updates to TDatabasePDG.h
36 // Can be used by TGeant3 and TGeant4
37 // It contains also the constants for the PDG particle IDs.
38 // Should evolve towards dynamical loading from external data base.
39 // Comments to: andreas.morsch@cern.ch 
40
41 #include "AliPDG.h"
42 #include "TDatabasePDG.h"
43
44 ClassImp(AliPDG)
45
46     void AliPDG::AddParticlesToPdgDataBase()
47 {
48
49 //
50 // Add particles to the PDG data base
51
52     TDatabasePDG *pdgDB = TDatabasePDG::Instance();
53
54     const Int_t kion=10000000;
55     const Int_t kspe=50000000;
56
57     const Double_t kAu2Gev=0.9314943228;
58     const Double_t khSlash = 1.0545726663e-27;
59     const Double_t kErg2Gev = 1/1.6021773349e-3;
60     const Double_t khShGev = khSlash*kErg2Gev;
61     const Double_t kYear2Sec = 3600*24*365.25;
62 //
63 // Bottom mesons
64 // mass and life-time from PDG
65 //
66   pdgDB->AddParticle("Upsilon(3S)","Upsilon(3S)",10.3552,kTRUE,
67                      0,1,"Bottonium",200553);
68
69 // Done by default now from Pythia6 table!
70 //
71 //
72 // Ions 
73 //
74
75   pdgDB->AddParticle("Deuteron","Deuteron",2*kAu2Gev+8.071e-3,kTRUE,
76                      0,1,"Ion",kion+10020);
77   pdgDB->AddParticle("Triton","Triton",3*kAu2Gev+14.931e-3,kFALSE,
78                      khShGev/(12.33*kYear2Sec),1,"Ion",kion+10030);
79   pdgDB->AddParticle("Alpha","Alpha",4*kAu2Gev+2.424e-3,kTRUE,
80                      khShGev/(12.33*kYear2Sec),2,"Ion",kion+20040);
81   pdgDB->AddParticle("HE3","HE3",3*kAu2Gev+14.931e-3,kFALSE,
82                      0,2,"Ion",kion+20030);
83 // Special particles
84 // 
85   pdgDB->AddParticle("Cherenkov","Cherenkov",0,kFALSE,
86                      0,0,"Special",kspe+50);
87   pdgDB->AddParticle("FeedbackPhoton","FeedbackPhoton",0,kFALSE,
88                      0,0,"Special",kspe+51);
89
90 }
91
92