Geant4  10.02.p03
G4DNAGenericIonsManager Class Reference

#include <G4DNAGenericIonsManager.hh>

Collaboration diagram for G4DNAGenericIonsManager:

Public Member Functions

G4ParticleDefinitionGetIon (const G4String &name)
 

Static Public Member Functions

static G4DNAGenericIonsManagerInstance (void)
 

Private Types

typedef std::map< G4String, G4ParticleDefinition * > IonsMap
 

Private Member Functions

 G4DNAGenericIonsManager ()
 
 ~G4DNAGenericIonsManager ()
 
 G4DNAGenericIonsManager (const G4DNAGenericIonsManager &)
 
const G4DNAGenericIonsManageroperator= (const G4DNAGenericIonsManager &)
 

Private Attributes

IonsMap map
 

Static Private Attributes

static G4DNAGenericIonsManagertheInstance
 

Detailed Description

Definition at line 39 of file G4DNAGenericIonsManager.hh.

Member Typedef Documentation

◆ IonsMap

Definition at line 54 of file G4DNAGenericIonsManager.hh.

Constructor & Destructor Documentation

◆ G4DNAGenericIonsManager() [1/2]

G4DNAGenericIonsManager::G4DNAGenericIonsManager ( )
private

Definition at line 58 of file G4DNAGenericIonsManager.cc.

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  G4DNAIons *helium;
69  G4DNAIons *hydrogen;
70  G4DNAIons *alphaPlus;
71  G4DNAIons *positronium1s;
72  G4DNAIons *positronium2s;
73 
74  G4DNAIons *carbon;
75  G4DNAIons *nitrogen;
76  G4DNAIons *oxygen;
77  G4DNAIons *silicon;
78  G4DNAIons *iron;
79 
80  iron= new G4DNAIons(
81  "iron", 52.5672*GeV, 0.0*MeV, +26.0*eplus,
82  0, +1, 0,
83  0, 0, 0,
84  "DNAion", +26, +56, 0,
85  true, -1.0, 0,
86  false, "", 0,
87  0.0);
88 
89  silicon= new G4DNAIons(
90  "silicon", 28.085*GeV, 0.0*MeV, +14.0*eplus,
91  0, +1, 0,
92  0, 0, 0,
93  "DNAion", +14, +28, 0,
94  true, -1.0, 0,
95  false, "", 0,
96  0.0);
97 
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 }
static const double MeV
Definition: G4SIunits.hh:211
static const double GeV
Definition: G4SIunits.hh:214
float electron_mass_c2
Definition: hepunit.py:274
static G4Alpha * Alpha()
Definition: G4Alpha.cc:89
static const double eplus
Definition: G4SIunits.hh:196
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~G4DNAGenericIonsManager()

G4DNAGenericIonsManager::~G4DNAGenericIonsManager ( )
private

◆ G4DNAGenericIonsManager() [2/2]

G4DNAGenericIonsManager::G4DNAGenericIonsManager ( const G4DNAGenericIonsManager )
private

Member Function Documentation

◆ GetIon()

G4ParticleDefinition * G4DNAGenericIonsManager::GetIon ( const G4String name)

Definition at line 46 of file G4DNAGenericIonsManager.cc.

47 {
48  IonsMap::const_iterator i(map.find(name));
49 
50  if (i==map.end())
51  return 0;
52 
53  return i->second;
54 }
Here is the caller graph for this function:

◆ Instance()

G4DNAGenericIonsManager * G4DNAGenericIonsManager::Instance ( void  )
static

Definition at line 36 of file G4DNAGenericIonsManager.cc.

37 {
38  if (!theInstance)
40 
41  return theInstance;
42 }
static G4DNAGenericIonsManager * theInstance
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

const G4DNAGenericIonsManager& G4DNAGenericIonsManager::operator= ( const G4DNAGenericIonsManager )
private

Member Data Documentation

◆ map

IonsMap G4DNAGenericIonsManager::map
private

Definition at line 56 of file G4DNAGenericIonsManager.hh.

◆ theInstance

G4DNAGenericIonsManager * G4DNAGenericIonsManager::theInstance
staticprivate

Definition at line 52 of file G4DNAGenericIonsManager.hh.


The documentation for this class was generated from the following files: