Geant4-11
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
G4DNAGenericIonsManager Class Reference

#include <G4DNAGenericIonsManager.hh>

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 (const G4DNAGenericIonsManager &)
 
const G4DNAGenericIonsManageroperator= (const G4DNAGenericIonsManager &)
 
 ~G4DNAGenericIonsManager ()
 

Private Attributes

IonsMap map
 

Static Private Attributes

static G4DNAGenericIonsManagertheInstance
 

Detailed Description

Definition at line 38 of file G4DNAGenericIonsManager.hh.

Member Typedef Documentation

◆ IonsMap

Definition at line 53 of file G4DNAGenericIonsManager.hh.

Constructor & Destructor Documentation

◆ G4DNAGenericIonsManager() [1/2]

G4DNAGenericIonsManager::G4DNAGenericIonsManager ( )
private

Definition at line 57 of file G4DNAGenericIonsManager.cc.

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}
static constexpr double eplus
Definition: G4SIunits.hh:184
static constexpr double GeV
Definition: G4SIunits.hh:203
static constexpr double MeV
Definition: G4SIunits.hh:200
static G4Alpha * Alpha()
Definition: G4Alpha.cc:88
float electron_mass_c2
Definition: hepunit.py:273

References G4Alpha::Alpha(), source.hepunit::electron_mass_c2, eplus, GeV, map, and MeV.

Referenced by Instance().

◆ ~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 45 of file G4DNAGenericIonsManager.cc.

46{
47 IonsMap::const_iterator i(map.find(name));
48
49 if (i==map.end())
50 return 0;
51
52 return i->second;
53}
const char * name(G4int ptype)

References map, and G4InuclParticleNames::name().

Referenced by G4EmDNAPhysics_option1::ConstructParticle(), G4EmDNAPhysics_option2::ConstructParticle(), G4EmDNAPhysics_option3::ConstructParticle(), G4EmDNAPhysics_option4::ConstructParticle(), G4EmDNAPhysics_option5::ConstructParticle(), G4EmDNAPhysics_option6::ConstructParticle(), G4EmDNAPhysics_option7::ConstructParticle(), G4EmDNAPhysics_option8::ConstructParticle(), G4EmDNAPhysics_stationary_option2::ConstructParticle(), G4EmDNAPhysics_stationary_option4::ConstructParticle(), G4EmDNAPhysics_stationary_option6::ConstructParticle(), G4EmDNAPhysics::ConstructParticle(), G4EmDNAPhysicsActivator::ConstructParticle(), G4EmDNAPhysics::ConstructProcess(), G4EmDNAPhysics_stationary::ConstructProcess(), G4EmDNAPhysicsActivator::ConstructProcess(), G4DNARuddIonisationModel::CorrectionFactor(), G4DNARuddIonisationExtendedModel::CorrectionFactor(), G4DNADingfelderChargeDecreaseModel::CrossSectionPerVolume(), G4DNADingfelderChargeIncreaseModel::CrossSectionPerVolume(), G4DNAMillerGreenExcitationModel::CrossSectionPerVolume(), G4DNARuddIonisationExtendedModel::CrossSectionPerVolume(), G4DNARuddIonisationModel::CrossSectionPerVolume(), G4DNARuddIonisationModel::DifferentialCrossSection(), G4DNADingfelderChargeIncreaseModel::IncomingParticleBindingEnergyConstant(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAChargeDecrease::IsApplicable(), G4DNAChargeIncrease::IsApplicable(), G4DNAElastic::IsApplicable(), G4DNAExcitation::IsApplicable(), G4DNAIonisation::IsApplicable(), G4DNADingfelderChargeDecreaseModel::NumberOfFinalStates(), G4DNADingfelderChargeIncreaseModel::NumberOfFinalStates(), G4DNADingfelderChargeDecreaseModel::OutgoingParticleBindingEnergyConstant(), G4DNADingfelderChargeDecreaseModel::OutgoingParticleDefinition(), G4DNADingfelderChargeIncreaseModel::OutgoingParticleDefinition(), G4DNADingfelderChargeDecreaseModel::PartialCrossSection(), G4DNADingfelderChargeIncreaseModel::PartialCrossSection(), G4DNAMillerGreenExcitationModel::PartialCrossSection(), G4DNARuddIonisationModel::RandomizeEjectedElectronEnergy(), G4DNADingfelderChargeDecreaseModel::RandomSelect(), G4DNADingfelderChargeIncreaseModel::RandomSelect(), G4DNAMillerGreenExcitationModel::RandomSelect(), G4DNARuddIonisationExtendedModel::RejectionFunction(), G4DNADingfelderChargeIncreaseModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4DNADingfelderChargeDecreaseModel::Sum(), G4DNADingfelderChargeIncreaseModel::Sum(), and G4DNADingfelderChargeDecreaseModel::WaterBindingEnergyConstant().

◆ Instance()

G4DNAGenericIonsManager * G4DNAGenericIonsManager::Instance ( void  )
static

Definition at line 35 of file G4DNAGenericIonsManager.cc.

36{
37 if (!theInstance)
39
40 return theInstance;
41}
static G4DNAGenericIonsManager * theInstance

References G4DNAGenericIonsManager(), and theInstance.

Referenced by G4EmDNAPhysics_option1::ConstructParticle(), G4EmDNAPhysics_option2::ConstructParticle(), G4EmDNAPhysics_option3::ConstructParticle(), G4EmDNAPhysics_option4::ConstructParticle(), G4EmDNAPhysics_option5::ConstructParticle(), G4EmDNAPhysics_option6::ConstructParticle(), G4EmDNAPhysics_option7::ConstructParticle(), G4EmDNAPhysics_option8::ConstructParticle(), G4EmDNAPhysics_stationary_option2::ConstructParticle(), G4EmDNAPhysics_stationary_option4::ConstructParticle(), G4EmDNAPhysics_stationary_option6::ConstructParticle(), G4EmDNAPhysics::ConstructParticle(), G4EmDNAPhysicsActivator::ConstructParticle(), G4EmDNAPhysics::ConstructProcess(), G4EmDNAPhysics_stationary::ConstructProcess(), G4EmDNAPhysicsActivator::ConstructProcess(), G4DNARuddIonisationModel::CorrectionFactor(), G4DNARuddIonisationExtendedModel::CorrectionFactor(), G4DNADingfelderChargeDecreaseModel::CrossSectionPerVolume(), G4DNADingfelderChargeIncreaseModel::CrossSectionPerVolume(), G4DNAMillerGreenExcitationModel::CrossSectionPerVolume(), G4DNARuddIonisationExtendedModel::CrossSectionPerVolume(), G4DNARuddIonisationModel::CrossSectionPerVolume(), G4DNARuddIonisationModel::DifferentialCrossSection(), G4DNADingfelderChargeIncreaseModel::IncomingParticleBindingEnergyConstant(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAChargeDecrease::IsApplicable(), G4DNAChargeIncrease::IsApplicable(), G4DNAElastic::IsApplicable(), G4DNAExcitation::IsApplicable(), G4DNAIonisation::IsApplicable(), G4DNADingfelderChargeDecreaseModel::NumberOfFinalStates(), G4DNADingfelderChargeIncreaseModel::NumberOfFinalStates(), G4DNADingfelderChargeDecreaseModel::OutgoingParticleBindingEnergyConstant(), G4DNADingfelderChargeDecreaseModel::OutgoingParticleDefinition(), G4DNADingfelderChargeIncreaseModel::OutgoingParticleDefinition(), G4DNADingfelderChargeDecreaseModel::PartialCrossSection(), G4DNADingfelderChargeIncreaseModel::PartialCrossSection(), G4DNAMillerGreenExcitationModel::PartialCrossSection(), G4DNARuddIonisationModel::RandomizeEjectedElectronEnergy(), G4DNADingfelderChargeDecreaseModel::RandomSelect(), G4DNADingfelderChargeIncreaseModel::RandomSelect(), G4DNAMillerGreenExcitationModel::RandomSelect(), G4DNARuddIonisationExtendedModel::RejectionFunction(), G4DNADingfelderChargeIncreaseModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4DNADingfelderChargeDecreaseModel::Sum(), G4DNADingfelderChargeIncreaseModel::Sum(), and G4DNADingfelderChargeDecreaseModel::WaterBindingEnergyConstant().

◆ operator=()

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

Field Documentation

◆ map

IonsMap G4DNAGenericIonsManager::map
private

Definition at line 55 of file G4DNAGenericIonsManager.hh.

Referenced by G4DNAGenericIonsManager(), and GetIon().

◆ theInstance

G4DNAGenericIonsManager * G4DNAGenericIonsManager::theInstance
staticprivate

Definition at line 51 of file G4DNAGenericIonsManager.hh.

Referenced by Instance().


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