Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
processes
electromagnetic
dna
utils
src
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
28
#include "
G4DNAGenericIonsManager.hh
"
29
#include "
G4PhysicalConstants.hh
"
30
#include "
G4SystemOfUnits.hh
"
31
#include "
G4Alpha.hh
"
32
#include "
G4Ions.hh
"
33
34
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
35
36
G4DNAGenericIonsManager
*
G4DNAGenericIonsManager :: Instance
(
void
)
37
{
38
if
(!theInstance)
39
theInstance=
new
G4DNAGenericIonsManager
;
40
41
return
theInstance;
42
}
43
44
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
45
46
G4ParticleDefinition
*
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
58
G4DNAGenericIonsManager :: 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
170
G4DNAGenericIonsManager
* G4DNAGenericIonsManager::theInstance(0);
171
Generated on Sat May 25 2013 14:33:31 for Geant4 by
1.8.4