]>
Commit | Line | Data |
---|---|---|
1a2762e8 | 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 | #include "TMevSimConverter.h" | |
21 | ||
22 | ClassImp(TMevSimConverter) | |
23 | ||
24 | ||
25 | /////////////////////////////////////////////////////////////////////////////////// | |
26 | ||
27 | Int_t TMevSimConverter::PDGFromId(Int_t id) { | |
28 | ||
29 | // | |
30 | // Return PDG code and pseudo ENDF code from Geant3 code | |
31 | // | |
32 | if (id>0 && id<fNPDGCodes) return fPDGCode[id]; | |
33 | else return -1; | |
34 | } | |
35 | ||
36 | /////////////////////////////////////////////////////////////////////////////////// | |
37 | ||
38 | Int_t TMevSimConverter::IdFromPDG(Int_t pdg) { | |
39 | ||
40 | ||
41 | for (Int_t i=0; i<fNPDGCodes; i++) { | |
42 | if (fPDGCode[i] == pdg) return i; | |
43 | } | |
44 | return -1; | |
45 | ||
46 | } | |
47 | ||
48 | /////////////////////////////////////////////////////////////////////////////////// | |
49 | ||
50 | void TMevSimConverter::DefineParticles() { | |
51 | ||
52 | // | |
53 | // Load standard numbers for GEANT particles and PDG conversion | |
54 | fNPDGCodes = 0; | |
55 | ||
56 | fPDGCode[fNPDGCodes++]=-99; // 0 = unused location | |
57 | fPDGCode[fNPDGCodes++]=22; // 1 = photon | |
58 | fPDGCode[fNPDGCodes++]=-11; // 2 = positron | |
59 | fPDGCode[fNPDGCodes++]=11; // 3 = electron | |
60 | fPDGCode[fNPDGCodes++]=12; // 4 = neutrino e | |
61 | fPDGCode[fNPDGCodes++]=-13; // 5 = muon + | |
62 | fPDGCode[fNPDGCodes++]=13; // 6 = muon - | |
63 | fPDGCode[fNPDGCodes++]=111; // 7 = pi0 | |
64 | fPDGCode[fNPDGCodes++]=211; // 8 = pi+ | |
65 | fPDGCode[fNPDGCodes++]=-211; // 9 = pi- | |
66 | fPDGCode[fNPDGCodes++]=130; // 10 = Kaon Long | |
67 | fPDGCode[fNPDGCodes++]=321; // 11 = Kaon + | |
68 | fPDGCode[fNPDGCodes++]=-321; // 12 = Kaon - | |
69 | fPDGCode[fNPDGCodes++]=2112; // 13 = Neutron | |
70 | fPDGCode[fNPDGCodes++]=2212; // 14 = Proton | |
71 | fPDGCode[fNPDGCodes++]=-2212; // 15 = Anti Proton | |
72 | fPDGCode[fNPDGCodes++]=310; // 16 = Kaon Short | |
73 | fPDGCode[fNPDGCodes++]=221; // 17 = Eta | |
74 | fPDGCode[fNPDGCodes++]=3122; // 18 = Lambda | |
75 | fPDGCode[fNPDGCodes++]=3222; // 19 = Sigma + | |
76 | fPDGCode[fNPDGCodes++]=3212; // 20 = Sigma 0 | |
77 | fPDGCode[fNPDGCodes++]=3112; // 21 = Sigma - | |
78 | fPDGCode[fNPDGCodes++]=3322; // 22 = Xi0 | |
79 | fPDGCode[fNPDGCodes++]=3312; // 23 = Xi- | |
80 | fPDGCode[fNPDGCodes++]=3334; // 24 = Omega- | |
81 | fPDGCode[fNPDGCodes++]=-2112; // 25 = Anti Proton | |
82 | fPDGCode[fNPDGCodes++]=-3122; // 26 = Anti Proton | |
83 | fPDGCode[fNPDGCodes++]=-3222; // 27 = Anti Sigma - | |
84 | fPDGCode[fNPDGCodes++]=-3212; // 28 = Anti Sigma 0 | |
85 | fPDGCode[fNPDGCodes++]=-3112; // 29 = Anti Sigma 0 | |
86 | fPDGCode[fNPDGCodes++]=-3322; // 30 = Anti Xi 0 | |
87 | fPDGCode[fNPDGCodes++]=-3312; // 31 = Anti Xi + | |
88 | fPDGCode[fNPDGCodes++]=-3334; // 32 = Anti Omega + | |
89 | } | |
90 |