AliPDG class, first commit.
[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 */
19
20 // Class to encapsulate the ALICE updates to TDatabasePDG.h
21 // Can be used by TGeant3 and TGeant4
22 // It contains also the constants for the PDG particle IDs.
23 // Should evolve towards dynamical loading from external data base.
24 // Comments to: andreas.morsch@cern.ch 
25
26 #include "AliPDG.h"
27 #include "TDatabasePDG.h"
28
29 ClassImp(AliPDG)
30
31     void AliPDG::AddParticlesToPdgDataBase()
32 {
33
34 //
35 // Add particles to the PDG data base
36
37     TDatabasePDG *pdgDB = TDatabasePDG::Instance();
38
39     const Int_t kion=10000000;
40     const Int_t kspe=50000000;
41
42     const Double_t kAu2Gev=0.9314943228;
43     const Double_t khSlash = 1.0545726663e-27;
44     const Double_t kErg2Gev = 1/1.6021773349e-3;
45     const Double_t khShGev = khSlash*kErg2Gev;
46     const Double_t kYear2Sec = 3600*24*365.25;
47 //
48 // Bottom mesons
49 // mass and life-time from PDG
50     pdgDB->AddParticle("B(s)*0","B(s)*0",
51                        5.4163, kTRUE, 0.047, +0.,"Meson",  533);
52     
53     pdgDB->AddParticle("B(s)*0 bar","B(s)*0 bar",
54                        5.4163, kTRUE, 0.047, -0.,"Meson", -533);
55     
56 // Charmed baryons
57 // 
58 // value for mass used by Hijing
59     pdgDB->AddParticle("Sigma(c)*+","Sigma(c)*+",
60                        2.4536, kTRUE, -1., +1.,"Baryon",  4214);
61     
62     pdgDB->AddParticle("Sigma(c)*-","Sigma(c)*-",
63                        2.4536, kTRUE, -1., -1.,"Baryon", -4214);
64 // equivalent to 4312 ? Hijing uses m=2.55
65     pdgDB->AddParticle("Xsi(c)0","Xsi(c)0",
66                        2.4703, kTRUE, -1., +0.,"Baryon",  4132);
67     
68     pdgDB->AddParticle("Xsi(c)0 bar","Xsi(c)0 bar",
69                        2.4703, kTRUE, -1., -0.,"Baryon", -4132);
70 // equivalent to 4322 ? Hijing uses m=2.55
71     pdgDB->AddParticle("Xi(c)+","Xi(c)+",
72                        2.4656, kFALSE, -1., +1.,"Baryon",  4232);
73     
74     pdgDB->AddParticle("Xi(c)-","Xi(c)-",
75                        2.4656, kFALSE, -1., -1.,"Baryon", -4232);
76 // mass values from Hijing
77     
78     pdgDB->AddParticle("Xsi(c)*0","Xsi(c)*0",
79                        2.63, kTRUE, -1., +0.,"Baryon",  4314);
80     
81     pdgDB->AddParticle("Xsi(c)*0 bar","Xsi(c)*0 bar",
82                        2.63, kTRUE, -1., -0.,"Baryon", -4314);
83     
84     pdgDB->AddParticle("Xsi(c)*+","Xsi(c)*+",
85                        2.63, kTRUE, -1., +1.,"Baryon",  4324);
86     
87     pdgDB->AddParticle("Xsi(c)*-","Xsi(c)*-",
88                        2.63, kTRUE, -1., -1.,"Baryon", -4324);
89     
90 // pdg mass value, Hijing uses m=2.73.
91     pdgDB->AddParticle("Omega(c)0","Omega(c)0",
92                        2.7040, kFALSE, khShGev/0.064e-12, +0.,"Baryon",  4332);
93     
94     pdgDB->AddParticle("Omega(c)0 bar","Omega(c)0 bar",
95                        2.7040, kFALSE, khShGev/0.064e-12, -0.,"Baryon", -4332);
96 // mass value from Hijing
97     pdgDB->AddParticle("Omega(c)*0","Omega(c)*0",
98                        2.8000, kFALSE, -1., +0.,"Baryon",  4334);
99     
100     pdgDB->AddParticle("Omega(c)*0 bar","Omega(c)*0",
101                        2.8000, kFALSE, -1., -0.,"Baryon", -4334);
102     
103     
104 // Xi(cc)
105     
106     pdgDB->AddParticle("Xsi(cc)+","Xsi(cc)+",
107                      3.60, kTRUE, -1., +1.,"Baryon",  4412);
108     
109     pdgDB->AddParticle("Xsi(cc) bar-","Xsi(cc) bar-",
110                        3.60, kTRUE, -1., -1.,"Baryon", -4412);
111     
112     pdgDB->AddParticle("Xsi*(cc)+","Xsi*(cc)+",
113                        3.66, kTRUE, -1., +1.,"Baryon",  4414);
114
115     pdgDB->AddParticle("Xsi*(cc) bar-","Xsi*(cc) bar-",
116                        3.66, kTRUE, -1., -1.,"Baryon", -4414);
117     
118     
119     pdgDB->AddParticle("Xsi(cc)++","Xsi(cc)++",
120                        3.60, kTRUE, -1., +2.,"Baryon",  4422);
121     
122     pdgDB->AddParticle("Xsi(cc) bar--","Xsi(cc) bar--",
123                        3.60, kTRUE, -1., -2.,"Baryon", -4422);
124     
125     
126     pdgDB->AddParticle("Xsi*(cc)++","Xsi*(cc)++",
127                        3.66, kTRUE, -1., +2.,"Baryon",  4424);
128     
129     pdgDB->AddParticle("Xsi*(cc) bar-","Xsi*(cc) bar-",
130                        3.66, kTRUE, -1., -2.,"Baryon", -4424);
131     
132     pdgDB->AddParticle("Omega(cc)+","Omega(cc)+",
133                        3.78, kTRUE, -1., +1.,"Baryon",  4432);
134     
135     pdgDB->AddParticle("Omega(cc) bar-","Omega(cc) bar-",
136                        3.78, kTRUE, -1., -1.,"Baryon", -4432);
137     
138     pdgDB->AddParticle("Omega*(cc)+","Omega*(cc)+",
139                        3.82, kTRUE, -1., +1.,"Baryon",  4434);
140     
141     pdgDB->AddParticle("Omega*(cc) bar-","Omega*(cc) bar-",
142                        3.82, kTRUE, -1., -1.,"Baryon", -4434);
143     
144     
145     pdgDB->AddParticle("Omega*(ccc)+","Omega*(cc)++",
146                        4.91, kTRUE, -1., +2.,"Baryon",  4444);
147     
148     pdgDB->AddParticle("Omega*(ccc) bar--","Omega*(cc) bar--",
149                        4.91, kTRUE, -1., -2.,"Baryon", -4444);
150     
151     
152
153 // Bottom baryons
154 //
155 // mass value from Hijing
156     pdgDB->AddParticle("Sigma(b)*+","Sigma(b)*+",
157                        5.8100, kFALSE, -1., +1.,"Baryon", 5224);
158     
159     pdgDB->AddParticle("Sigma(b)*-","Sigma(b)*-",
160                        5.8100, kFALSE, -1., -1.,"Baryon", -5224);
161     
162     
163     pdgDB->AddParticle("Xi(b)0","Xi(b)0",
164                        5.8400, kFALSE, -1., +0.,"Baryon", 5232);
165     
166     pdgDB->AddParticle("Xi(b)0 bar","Xi(b)0 bar",
167                        5.8100, kFALSE, -1., -0.,"Baryon", -5232);
168     
169 // B(s) 
170     pdgDB->AddParticle("Xi'(b)-","Xi'(b)-",
171                        5.9600, kFALSE, -1., -1.,"Baryon", 5312);
172     
173     pdgDB->AddParticle("Xi'(b) bar+","Xi'(b) bar+",
174                        5.9600, kFALSE, -1.,  1.,"Baryon", -5312);
175     
176     pdgDB->AddParticle("Xi*(b)-","Xi*(b)-",
177                        5.9700, kFALSE, -1., -1.,"Baryon", 5314);
178     
179     pdgDB->AddParticle("Xi*(b) bar+","Xi*(b) bar+",
180                        5.9700, kFALSE, -1.,  1.,"Baryon", -5314);
181     
182     pdgDB->AddParticle("Xi'(b)0","Xi'(b)0",
183                        5.9600, kFALSE, -1., -0.,"Baryon", 5322);
184     
185     pdgDB->AddParticle("Xi'(b) bar0","Xi'(b) bar0",
186                        5.9600, kFALSE, -1.,  0.,"Baryon", -5322);
187     
188     pdgDB->AddParticle("Xi*(b)0","Xi*(b)0",
189                        5.9700, kFALSE, -1., -0.,"Baryon", 5324);
190     
191     pdgDB->AddParticle("Xi*(b) bar0","Xi*(b) bar0",
192                        5.9700, kFALSE, -1.,  0.,"Baryon", -5324);
193     
194     pdgDB->AddParticle("Omega(b)-","Omega(b)-",
195                        6.1200, kFALSE, -1., -1.,"Baryon", 5332);
196     
197     pdgDB->AddParticle("Omega(b) bar+","Omega(b) bar+",
198                        6.1200, kFALSE, -1.,  1.,"Baryon", -5332);
199     
200     pdgDB->AddParticle("Omega*(b)-","Omega*(b)-",
201                        6.1300, kFALSE, -1., -1.,"Baryon", 5334);
202     
203     pdgDB->AddParticle("Omega*(b) bar+","Omega*(b) bar+",
204                        6.1300, kFALSE, -1.,  1.,"Baryon", -5334);
205
206
207     pdgDB->AddParticle("Omega*(b)-","Omega*(b)-",
208                        6.1300, kFALSE, -1., -1.,"Baryon", 5334);
209     
210     pdgDB->AddParticle("Omega*(b) bar+","Omega*(b) bar+",
211                        6.1300, kFALSE, -1.,  1.,"Baryon", -5334);
212
213 // B(c) 
214
215     pdgDB->AddParticle("Omega(bc)0","Omega(bc)0",
216                        7.1900, kFALSE, -1., -0.,"Baryon", 5342);
217     
218     pdgDB->AddParticle("Omega(bc) bar0","Omega(bc) bar0",
219                        7.1900, kFALSE, -1.,  0.,"Baryon", -5342);
220     
221     pdgDB->AddParticle("Xi'(bc)0","Xi'(bc)0",
222                        7.0400, kFALSE, -1., -0.,"Baryon", 5412);
223     
224     pdgDB->AddParticle("Xi'(bc) bar0","Xi'(bc) bar0",
225                        7.0400, kFALSE, -1.,  0.,"Baryon", -5412);
226     
227     pdgDB->AddParticle("Xi*(bc)0","Xi*(bc)0",
228                        7.0500, kFALSE, -1., -0.,"Baryon", 5414);
229     
230     pdgDB->AddParticle("Xi*(bc) bar0","Xi*(bc) bar0",
231                        7.0500, kFALSE, -1.,  0.,"Baryon", -5414);
232     
233     pdgDB->AddParticle("Xi'(bc)+","Xi'(bc)+",
234                        7.0400, kFALSE, -1., +1.,"Baryon", 5422);
235     
236     pdgDB->AddParticle("Xi'(bc) bar-","Xi'(bc) bar-",
237                        7.0400, kFALSE, -1., -1.,"Baryon", -5422);
238     
239     pdgDB->AddParticle("Xi*(bc)+","Xi*(bc)+",
240                        7.0500, kFALSE, -1., +1.,"Baryon", 5424);
241     
242     pdgDB->AddParticle("Xi*(bc) bar-","Xi*(bc) bar-",
243                        7.0500, kFALSE, -1., -1.,"Baryon", -5424);
244     
245     pdgDB->AddParticle("Omega'(bc)0","Omega'(bc)0",
246                        7.2100, kFALSE, -1., -0.,"Baryon", 5432);
247     
248     pdgDB->AddParticle("Omega'(bc) bar0","Omega'(bc) bar0",
249                        7.2100, kFALSE, -1.,  0.,"Baryon", -5432);
250     
251     pdgDB->AddParticle("Omega*(bc)0","Omega*(bc)0",
252                        7.2200, kFALSE, -1., -0.,"Baryon", 5434);
253     
254     pdgDB->AddParticle("Omega*(bc) bar0","Omega*(bc) bar0",
255                        7.2200, kFALSE, -1.,  0.,"Baryon", -5434);
256 // B(bcc)
257     pdgDB->AddParticle("Omega(bcc)+","Omega(bcc)+",
258                        8.3100, kFALSE, -1., +1.,"Baryon", 5442);
259     
260     pdgDB->AddParticle("Omega(bcc) bar-","Omega(bcc) bar-",
261                        8.3100, kFALSE, -1., -1.,"Baryon", -5442);
262     
263     pdgDB->AddParticle("Omega*(bcc)+","Omega*(bcc)+",
264                        8.3100, kFALSE, -1., +1.,"Baryon", 5444);
265     
266     pdgDB->AddParticle("Omega*(bcc) bar-","Omega*(bcc) bar-",
267                        8.3100, kFALSE, -1., -1.,"Baryon", -5444);
268
269
270
271
272 // B(bb)
273
274     pdgDB->AddParticle("Xsi(bb)-","Xsi(bb)-",
275                        10.4200, kFALSE, -1., -1.,"Baryon", 5512);
276     
277     pdgDB->AddParticle("Xsi(bb) bar+","Xsi(bb) bar+",
278                        10.4200, kFALSE, -1., +1.,"Baryon", -5512);
279     
280     pdgDB->AddParticle("Xsi*(bb)-","Xsi*(bb)-",
281                        10.4400, kFALSE, -1., -1.,"Baryon", 5514);
282     
283     pdgDB->AddParticle("Xsi*(bb) bar+","Xsi*(bb) bar+",
284                        10.4400, kFALSE, -1., +1.,"Baryon", -5514);
285     
286     pdgDB->AddParticle("Xsi(bb)0","Xsi(bb)0",
287                        10.4200, kFALSE, -1., -0.,"Baryon", 5522);
288     
289     pdgDB->AddParticle("Xsi(bb) bar0","Xsi(bb) bar0",
290                        10.4200, kFALSE, -1., +0.,"Baryon", -5522);
291     
292     pdgDB->AddParticle("Xsi*(bb)0","Xsi*(bb)0",
293                        10.4400, kFALSE, -1., -0.,"Baryon", 5524);
294     
295     pdgDB->AddParticle("Xsi*(bb) bar0","Xsi*(bb) bar0",
296                        10.4400, kFALSE, -1., +0.,"Baryon", -5524);
297     
298     pdgDB->AddParticle("Omega*(bb)-","Omega(bb)-",
299                        10.6000, kFALSE, -1., -1.,"Baryon", 5532);
300     
301     pdgDB->AddParticle("Omega(bb) bar+","Omega(bb) bar+",
302                        10.6000, kFALSE, -1., +1.,"Baryon", -5532);
303     
304     pdgDB->AddParticle("Omega*(bb)-","Omega*(bb)-",
305                        10.6000, kFALSE, -1., -1.,"Baryon", 5534);
306     
307     pdgDB->AddParticle("Omega*(bb) bar+","Omega*(bb) bar+",
308                        10.6000, kFALSE, -1., +1.,"Baryon", -5534);
309     
310 // B(bbc)
311     
312     pdgDB->AddParticle("Omega(bbc)0","Omega(bbc)0",
313                        11.7100, kFALSE, -1., -0.,"Baryon", 5542);
314     
315     pdgDB->AddParticle("Omega(bbc) bar0","Omega(bbc) bar0",
316                        11.7100, kFALSE, -1., +0.,"Baryon", -5542);
317     
318     pdgDB->AddParticle("Omega*(bbc)0","Omega*(bbc)0",
319                        11.7100, kFALSE, -1., -0.,"Baryon", 5544);
320
321     pdgDB->AddParticle("Omega*(bbc) bar0","Omega*(bbc) bar0",
322                      11.7100, kFALSE, -1., +0.,"Baryon", -5544);
323 // B(bbb)
324     
325     pdgDB->AddParticle("Omega*(bbb)-","Omega*(bbb)-",
326                        15.1000, kFALSE, -1., -1.,"Baryon", 5544);
327
328     pdgDB->AddParticle("Omega*(bbb) bar+","Omega*(bbb) bar+",
329                        15.100, kFALSE, -1., +1.,"Baryon", -5544);
330     
331 //
332 // Ions 
333 //
334
335   pdgDB->AddParticle("Deuteron","Deuteron",2*kAu2Gev+8.071e-3,kTRUE,
336                      0,1,"Ion",kion+10020);
337   pdgDB->AddParticle("Triton","Triton",3*kAu2Gev+14.931e-3,kFALSE,
338                      khShGev/(12.33*kYear2Sec),1,"Ion",kion+10030);
339   pdgDB->AddParticle("Alpha","Alpha",4*kAu2Gev+2.424e-3,kTRUE,
340                      khShGev/(12.33*kYear2Sec),2,"Ion",kion+20040);
341   pdgDB->AddParticle("HE3","HE3",3*kAu2Gev+14.931e-3,kFALSE,
342                      0,2,"Ion",kion+20030);
343
344 //
345 // special particles
346 // 
347   pdgDB->AddParticle("Cherenkov","Cherenkov",0,kFALSE,
348                      0,0,"Special",kspe+50);
349   pdgDB->AddParticle("FeedbackPhoton","FeedbackPhoton",0,kFALSE,
350                      0,0,"Special",kspe+51);
351 }