Geant4-11
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
27
#include "
G4DNAGenericIonsManager.hh
"
28
#include "
G4PhysicalConstants.hh
"
29
#include "
G4SystemOfUnits.hh
"
30
#include "
G4Alpha.hh
"
31
#include "
G4DNAIons.hh
"
32
33
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
34
35
G4DNAGenericIonsManager
*
G4DNAGenericIonsManager :: Instance
(
void
)
36
{
37
if
(!
theInstance
)
38
theInstance
=
new
G4DNAGenericIonsManager
;
39
40
return
theInstance
;
41
}
42
43
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
44
45
G4ParticleDefinition
*
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
57
G4DNAGenericIonsManager :: 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
G4DNAIons
*helium;
68
G4DNAIons
*hydrogen;
69
G4DNAIons
*alphaPlus;
70
G4DNAIons
*positronium1s;
71
G4DNAIons
*positronium2s;
72
73
G4DNAIons
*carbon;
74
G4DNAIons
*nitrogen;
75
G4DNAIons
*oxygen;
76
G4DNAIons
*silicon;
77
G4DNAIons
*iron;
78
79
iron=
new
G4DNAIons
(
80
"iron"
, 52.5672*
GeV
, 0.0*
MeV
, +26.0*
eplus
,
81
0, +1, 0,
82
0, 0, 0,
83
"DNAion"
, +26, +56, 0,
84
true
, -1.0, 0,
85
false
,
""
, 0,
86
0.0);
87
88
silicon=
new
G4DNAIons
(
89
"silicon"
, 26.161011669*
GeV
, 0.0*
MeV
, +14.0*
eplus
,
90
0, +1, 0,
91
0, 0, 0,
92
"DNAion"
, +14, +28, 0,
93
true
, -1.0, 0,
94
false
,
""
, 0,
95
0.0);
96
97
// mass is average for all Si isotopes
98
99
oxygen=
new
G4DNAIons
(
100
"oxygen"
, 15.0074*
GeV
, 0.0*
MeV
, +8.0*
eplus
,
101
0, +1, 0,
102
0, 0, 0,
103
"DNAion"
, +8, +16, 0,
104
true
, -1.0, 0,
105
false
,
""
, 0,
106
0.0);
107
108
109
nitrogen=
new
G4DNAIons
(
110
"nitrogen"
, 13.132*
GeV
, 0.0*
MeV
, +7.0*
eplus
,
111
0, +1, 0,
112
0, 0, 0,
113
"DNAion"
, +7, +14, 0,
114
true
, -1.0, 0,
115
false
,
""
, 0,
116
0.0);
117
118
carbon=
new
G4DNAIons
(
119
"carbon"
, 11.267025440*
GeV
, 0.0*
MeV
, +6.0*
eplus
,
120
0, +1, 0,
121
0, 0, 0,
122
"DNAion"
, +6, +12, 0,
123
true
, -1.0, 0,
124
false
,
""
, 0,
125
0.0);
126
127
helium=
new
G4DNAIons
(
128
"helium"
, 3.727417*
GeV
, 0.0*
MeV
, +0.0*
eplus
,
129
0, +1, 0,
130
0, 0, 0,
131
"DNAion"
, +2, +4, 0,
132
true
, -1.0, 0,
133
false
,
""
, 0,
134
0.0);
135
136
alphaPlus=
new
G4DNAIons
(
"alpha+"
, 3.727417*
GeV
, 0.0*
MeV
, +1.0*
eplus
,
137
1, +1, 0,
138
0, 0, 0,
139
"DNAion"
, +1, +4, 0,
140
true
, -1.0, 0,
false
,
141
""
, 0, 0.0);
142
143
hydrogen=
new
G4DNAIons
(
"hydrogen"
, 0.9382723*
GeV
, 0.0*
MeV
, +0.0*
eplus
,
144
0, +1, 0,
145
0, 0, 0,
146
"DNAion"
, +1, +1, 0,
147
true
, -1.0, 0,
false
,
148
""
, 0, 0.0);
149
150
positronium1s=
new
G4DNAIons
(
"Ps-1s"
, 2*
electron_mass_c2
, 0.0*
MeV
, +0.0*
eplus
,
151
0, 0, 0,
152
0, 0, 0,
153
"DNAion"
, 0, 0, 0,
154
true
, -1.0, 0,
false
,
155
""
, 0, 0.0);
156
157
positronium2s=
new
G4DNAIons
(
"Ps-2s"
, 2*
electron_mass_c2
, 0.0*
MeV
, +0.0*
eplus
,
158
0, 0, 0,
159
0, 0, 0,
160
"DNAion"
, 0, 0, 0,
161
true
, -1.0, 0,
false
,
162
""
, 0, 0.0);
163
164
165
map
[
"helium"
]=helium;
166
map
[
"hydrogen"
]=hydrogen;
167
map
[
"alpha+"
]=alphaPlus;
168
map
[
"alpha++"
]=
G4Alpha::Alpha
();
169
map
[
"Ps-1s"
]=positronium1s;
170
map
[
"Ps-2s"
]=positronium2s;
171
map
[
"carbon"
]=carbon;
172
map
[
"nitrogen"
]=nitrogen;
173
map
[
"oxygen"
]=oxygen;
174
map
[
"silicon"
]=silicon;
175
map
[
"iron"
]=iron;
176
177
178
}
179
180
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
181
182
G4DNAGenericIonsManager
*
G4DNAGenericIonsManager::theInstance
(0);
183
G4Alpha.hh
G4DNAGenericIonsManager.hh
G4DNAIons.hh
G4PhysicalConstants.hh
eplus
static constexpr double eplus
Definition:
G4SIunits.hh:184
GeV
static constexpr double GeV
Definition:
G4SIunits.hh:203
MeV
static constexpr double MeV
Definition:
G4SIunits.hh:200
G4SystemOfUnits.hh
G4Alpha::Alpha
static G4Alpha * Alpha()
Definition:
G4Alpha.cc:88
G4DNAGenericIonsManager
Definition:
G4DNAGenericIonsManager.hh:39
G4DNAGenericIonsManager::map
IonsMap map
Definition:
G4DNAGenericIonsManager.hh:55
G4DNAGenericIonsManager::theInstance
static G4DNAGenericIonsManager * theInstance
Definition:
G4DNAGenericIonsManager.hh:51
G4DNAGenericIonsManager::Instance
static G4DNAGenericIonsManager * Instance(void)
Definition:
G4DNAGenericIonsManager.cc:35
G4DNAGenericIonsManager::G4DNAGenericIonsManager
G4DNAGenericIonsManager()
Definition:
G4DNAGenericIonsManager.cc:57
G4DNAGenericIonsManager::GetIon
G4ParticleDefinition * GetIon(const G4String &name)
Definition:
G4DNAGenericIonsManager.cc:45
G4DNAIons
Definition:
G4DNAIons.hh:41
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:61
G4String
Definition:
G4String.hh:62
G4InuclParticleNames::name
const char * name(G4int ptype)
Definition:
G4InuclParticleNames.hh:76
source.hepunit.electron_mass_c2
float electron_mass_c2
Definition:
hepunit.py:273
Generated by
1.9.3