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

Last change on this file since 1346 was 1340, checked in by garnier, 15 years ago

update ti head

File size: 6.6 KB
RevLine 
[819]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//
[1340]26// $Id: G4DNAGenericIonsManager.cc,v 1.7 2010/11/03 10:44:26 sincerti Exp $
27// GEANT4 tag $Name: emlowen-V09-03-54 $
[819]28
29#include "G4DNAGenericIonsManager.hh"
30#include "G4Alpha.hh"
31#include "G4Ions.hh"
32
[961]33//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
34
35G4DNAGenericIonsManager * G4DNAGenericIonsManager :: Instance(void)
[819]36{
37 if (!theInstance)
38 theInstance=new G4DNAGenericIonsManager;
39
40 return theInstance;
41}
42
[961]43//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
44
45G4ParticleDefinition * G4DNAGenericIonsManager :: GetIon(const G4String & name)
[819]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
[961]55//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
56
57G4DNAGenericIonsManager :: G4DNAGenericIonsManager()
[819]58{
[1192]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
[819]67 G4Ions *helium;
68 G4Ions *hydrogen;
69 G4Ions *alphaPlus;
[961]70 G4Ions *positronium1s;
71 G4Ions *positronium2s;
[1192]72
[1340]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);
[1192]114
[1340]115 helium= new G4Ions(
[1192]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);
[819]123
[1340]124 alphaPlus= new G4Ions("alpha+", 3.727417*GeV, 0.0*MeV, +1.0*eplus,
[819]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,
[961]135 true, -1.0, 0, false,
[819]136 "", 0, 0.0);
137
[961]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
[1192]152
153 map["helium" ]=helium;
[819]154 map["hydrogen"]=hydrogen;
[1192]155 map["alpha+" ]=alphaPlus;
156 map["alpha++" ]=G4Alpha::Alpha();
157 map["Ps-1s" ]=positronium1s;
158 map["Ps-2s" ]=positronium2s;
[1340]159 map["carbon" ]=carbon;
160 map["nitrogen"]=nitrogen;
161 map["oxygen" ]=oxygen;
162 map["iron" ]=iron;
[961]163
[1340]164
[819]165}
166
[961]167//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
[819]168
[961]169G4DNAGenericIonsManager * G4DNAGenericIonsManager::theInstance(0);
[819]170
Note: See TracBrowser for help on using the repository browser.