source: trunk/source/processes/electromagnetic/lowenergy/src/G4DNAGenericIonsManager.cc

Last change on this file was 1347, checked in by garnier, 15 years ago

geant4 tag 9.4

File size: 6.6 KB
Line 
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// $Id: G4DNAGenericIonsManager.cc,v 1.7 2010/11/03 10:44:26 sincerti Exp $
27// GEANT4 tag $Name: geant4-09-04-ref-00 $
28
29#include "G4DNAGenericIonsManager.hh"
30#include "G4Alpha.hh"
31#include "G4Ions.hh"
32
33//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
34
35G4DNAGenericIonsManager * G4DNAGenericIonsManager :: Instance(void)
36{
37 if (!theInstance)
38 theInstance=new G4DNAGenericIonsManager;
39
40 return theInstance;
41}
42
43//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
44
45G4ParticleDefinition * G4DNAGenericIonsManager :: GetIon(const G4String & name)
46{
47 IonsMap::const_iterator i(map.find(name));
48
49 if (i==map.end())
50 return 0;
51
52 return i->second;
53}
54
55//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
56
57G4DNAGenericIonsManager :: G4DNAGenericIonsManager()
58{
59 // name mass width charge
60 // 2*spin parity C-conjugation
61 // 2*Isospin 2*Isospin3 G-parity
62 // type lepton number baryon number PDG encoding
63 // stable lifetime decay table
64 // shortlived subType anti_encoding
65 // excitation
66
67 G4Ions *helium;
68 G4Ions *hydrogen;
69 G4Ions *alphaPlus;
70 G4Ions *positronium1s;
71 G4Ions *positronium2s;
72
73 G4Ions *carbon;
74 G4Ions *nitrogen;
75 G4Ions *oxygen;
76 G4Ions *iron;
77
78 iron= new G4Ions(
79 "iron", 52.5672*GeV, 0.0*MeV, +26.0*eplus,
80 0, +1, 0,
81 0, 0, 0,
82 "nucleus", +26, +56, 0,
83 true, -1.0, 0,
84 false, "", 0,
85 0.0);
86
87 oxygen= new G4Ions(
88 "oxygen", 15.0074*GeV, 0.0*MeV, +8.0*eplus,
89 0, +1, 0,
90 0, 0, 0,
91 "nucleus", +8, +16, 0,
92 true, -1.0, 0,
93 false, "", 0,
94 0.0);
95
96
97 nitrogen= new G4Ions(
98 "nitrogen", 13.132*GeV, 0.0*MeV, +7.0*eplus,
99 0, +1, 0,
100 0, 0, 0,
101 "nucleus", +7, +14, 0,
102 true, -1.0, 0,
103 false, "", 0,
104 0.0);
105
106 carbon= new G4Ions(
107 "carbon", 11.267025440*GeV, 0.0*MeV, +6.0*eplus,
108 0, +1, 0,
109 0, 0, 0,
110 "nucleus", +6, +12, 0,
111 true, -1.0, 0,
112 false, "", 0,
113 0.0);
114
115 helium= new G4Ions(
116 "helium", 3.727417*GeV, 0.0*MeV, +0.0*eplus,
117 0, +1, 0,
118 0, 0, 0,
119 "nucleus", +2, +4, 0,
120 true, -1.0, 0,
121 false, "", 0,
122 0.0);
123
124 alphaPlus= new G4Ions("alpha+", 3.727417*GeV, 0.0*MeV, +1.0*eplus,
125 1, +1, 0,
126 0, 0, 0,
127 "nucleus", +1, +4, 0,
128 true, -1.0, 0, false,
129 "", 0, 0.0);
130
131 hydrogen= new G4Ions("hydrogen", 0.9382723*GeV, 0.0*MeV, +0.0*eplus,
132 0, +1, 0,
133 0, 0, 0,
134 "nucleus", +1, +1, 0,
135 true, -1.0, 0, false,
136 "", 0, 0.0);
137
138 positronium1s= new G4Ions("Ps-1s", 2*electron_mass_c2, 0.0*MeV, +0.0*eplus,
139 0, 0, 0,
140 0, 0, 0,
141 "nucleus", 0, 0, 0,
142 true, -1.0, 0, false,
143 "", 0, 0.0);
144
145 positronium2s= new G4Ions("Ps-2s", 2*electron_mass_c2, 0.0*MeV, +0.0*eplus,
146 0, 0, 0,
147 0, 0, 0,
148 "nucleus", 0, 0, 0,
149 true, -1.0, 0, false,
150 "", 0, 0.0);
151
152
153 map["helium" ]=helium;
154 map["hydrogen"]=hydrogen;
155 map["alpha+" ]=alphaPlus;
156 map["alpha++" ]=G4Alpha::Alpha();
157 map["Ps-1s" ]=positronium1s;
158 map["Ps-2s" ]=positronium2s;
159 map["carbon" ]=carbon;
160 map["nitrogen"]=nitrogen;
161 map["oxygen" ]=oxygen;
162 map["iron" ]=iron;
163
164
165}
166
167//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
168
169G4DNAGenericIonsManager * G4DNAGenericIonsManager::theInstance(0);
170
Note: See TracBrowser for help on using the repository browser.