Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4DNAGenericIonsManager.cc
Go to the documentation of this file.
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$
27
30#include "G4SystemOfUnits.hh"
31#include "G4Alpha.hh"
32#include "G4Ions.hh"
33
34//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
35
36G4DNAGenericIonsManager * G4DNAGenericIonsManager :: Instance(void)
37{
38 if (!theInstance)
39 theInstance=new G4DNAGenericIonsManager;
40
41 return theInstance;
42}
43
44//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
45
46G4ParticleDefinition * G4DNAGenericIonsManager :: GetIon(const G4String & name)
47{
48 IonsMap::const_iterator i(map.find(name));
49
50 if (i==map.end())
51 return 0;
52
53 return i->second;
54}
55
56//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
57
58G4DNAGenericIonsManager :: G4DNAGenericIonsManager()
59{
60 // name mass width charge
61 // 2*spin parity C-conjugation
62 // 2*Isospin 2*Isospin3 G-parity
63 // type lepton number baryon number PDG encoding
64 // stable lifetime decay table
65 // shortlived subType anti_encoding
66 // excitation
67
68 G4Ions *helium;
69 G4Ions *hydrogen;
70 G4Ions *alphaPlus;
71 G4Ions *positronium1s;
72 G4Ions *positronium2s;
73
74 G4Ions *carbon;
75 G4Ions *nitrogen;
76 G4Ions *oxygen;
77 G4Ions *iron;
78
79 iron= new G4Ions(
80 "iron", 52.5672*GeV, 0.0*MeV, +26.0*eplus,
81 0, +1, 0,
82 0, 0, 0,
83 "nucleus", +26, +56, 0,
84 true, -1.0, 0,
85 false, "", 0,
86 0.0);
87
88 oxygen= new G4Ions(
89 "oxygen", 15.0074*GeV, 0.0*MeV, +8.0*eplus,
90 0, +1, 0,
91 0, 0, 0,
92 "nucleus", +8, +16, 0,
93 true, -1.0, 0,
94 false, "", 0,
95 0.0);
96
97
98 nitrogen= new G4Ions(
99 "nitrogen", 13.132*GeV, 0.0*MeV, +7.0*eplus,
100 0, +1, 0,
101 0, 0, 0,
102 "nucleus", +7, +14, 0,
103 true, -1.0, 0,
104 false, "", 0,
105 0.0);
106
107 carbon= new G4Ions(
108 "carbon", 11.267025440*GeV, 0.0*MeV, +6.0*eplus,
109 0, +1, 0,
110 0, 0, 0,
111 "nucleus", +6, +12, 0,
112 true, -1.0, 0,
113 false, "", 0,
114 0.0);
115
116 helium= new G4Ions(
117 "helium", 3.727417*GeV, 0.0*MeV, +0.0*eplus,
118 0, +1, 0,
119 0, 0, 0,
120 "nucleus", +2, +4, 0,
121 true, -1.0, 0,
122 false, "", 0,
123 0.0);
124
125 alphaPlus= new G4Ions("alpha+", 3.727417*GeV, 0.0*MeV, +1.0*eplus,
126 1, +1, 0,
127 0, 0, 0,
128 "nucleus", +1, +4, 0,
129 true, -1.0, 0, false,
130 "", 0, 0.0);
131
132 hydrogen= new G4Ions("hydrogen", 0.9382723*GeV, 0.0*MeV, +0.0*eplus,
133 0, +1, 0,
134 0, 0, 0,
135 "nucleus", +1, +1, 0,
136 true, -1.0, 0, false,
137 "", 0, 0.0);
138
139 positronium1s= new G4Ions("Ps-1s", 2*electron_mass_c2, 0.0*MeV, +0.0*eplus,
140 0, 0, 0,
141 0, 0, 0,
142 "nucleus", 0, 0, 0,
143 true, -1.0, 0, false,
144 "", 0, 0.0);
145
146 positronium2s= new G4Ions("Ps-2s", 2*electron_mass_c2, 0.0*MeV, +0.0*eplus,
147 0, 0, 0,
148 0, 0, 0,
149 "nucleus", 0, 0, 0,
150 true, -1.0, 0, false,
151 "", 0, 0.0);
152
153
154 map["helium" ]=helium;
155 map["hydrogen"]=hydrogen;
156 map["alpha+" ]=alphaPlus;
157 map["alpha++" ]=G4Alpha::Alpha();
158 map["Ps-1s" ]=positronium1s;
159 map["Ps-2s" ]=positronium2s;
160 map["carbon" ]=carbon;
161 map["nitrogen"]=nitrogen;
162 map["oxygen" ]=oxygen;
163 map["iron" ]=iron;
164
165
166}
167
168//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
169
170G4DNAGenericIonsManager * G4DNAGenericIonsManager::theInstance(0);
171
static G4Alpha * Alpha()
Definition: G4Alpha.cc:89
Definition: G4Ions.hh:52