Transition to NewIO
[u/mrichter/AliRoot.git] / TMEVSIM / TMevSimConverter.cxx
CommitLineData
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
22ClassImp(TMevSimConverter)
23
24
25///////////////////////////////////////////////////////////////////////////////////
26
27Int_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
38Int_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
50void 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