Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ChemDissociationChannels Class Reference

#include <G4ChemDissociationChannels.hh>

Public Member Functions

 ~G4ChemDissociationChannels ()=default
 

Static Public Member Functions

static void ConstructDissociationChannels ()
 
static void ConstructMolecule ()
 

Detailed Description

Definition at line 35 of file G4ChemDissociationChannels.hh.

Constructor & Destructor Documentation

◆ ~G4ChemDissociationChannels()

G4ChemDissociationChannels::~G4ChemDissociationChannels ( )
default

Member Function Documentation

◆ ConstructDissociationChannels()

void G4ChemDissociationChannels::ConstructDissociationChannels ( )
static

Definition at line 77 of file G4ChemDissociationChannels.cc.

78{
79 //-----------------------------------
80 // Get the molecular configuration
81 auto molTable = G4MoleculeTable::Instance();
82 G4MolecularConfiguration* OH = molTable->GetConfiguration("OH");
83 G4MolecularConfiguration* OHm = molTable->GetConfiguration("OHm");
84 G4MolecularConfiguration* e_aq = molTable->GetConfiguration("e_aq");
85 G4MolecularConfiguration* H2 = molTable->GetConfiguration("H2");
86 G4MolecularConfiguration* H3O = molTable->GetConfiguration("H3Op");
87 G4MolecularConfiguration* H = molTable->GetConfiguration("H");
88
89 //-------------------------------------
90 // Define the decay channels
94
95 auto occ = new G4ElectronOccupancy(*(water->GetGroundStateElectronOccupancy()));
96
97 //////////////////////////////////////////////////////////
98 // EXCITATIONS //
99 //////////////////////////////////////////////////////////
100 G4DNAWaterExcitationStructure waterExcitation;
101 //--------------------------------------------------------
102 //---------------Excitation on the fifth layer------------
103
104 decCh1 = new G4MolecularDissociationChannel("A^1B_1_Relax");
105 decCh2 = new G4MolecularDissociationChannel("A^1B_1_DissociDecay");
106 // Decay 1 : OH + H
107 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(0));
108 decCh1->SetProbability(0.35);
109 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::NoDisplacement);
110
111 decCh2->AddProduct(OH);
112 decCh2->AddProduct(H);
113 decCh2->SetProbability(0.65);
114 decCh2->SetDisplacementType(G4DNAWaterDissociationDisplacer::A1B1_DissociationDecay);
115
116 // water->AddExcitedState("A^1B_1");
117 occ->RemoveElectron(4, 1); // this is the transition form ground state to
118 occ->AddElectron(5, 1); // the first unoccupied orbital: A^1B_1
119
120 water->NewConfigurationWithElectronOccupancy("A^1B_1", *occ);
121 water->AddDecayChannel("A^1B_1", decCh1);
122 water->AddDecayChannel("A^1B_1", decCh2);
123
124 //--------------------------------------------------------
125 //---------------Excitation on the fourth layer-----------
126 decCh1 = new G4MolecularDissociationChannel("B^1A_1_Relax_Channel");
127 decCh2 = new G4MolecularDissociationChannel("B^1A_1_DissociDecay");
128 auto decCh3 = new G4MolecularDissociationChannel("B^1A_1_AutoIoni_Channel");
129
130 // Decay 1 : energy
131 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(1));
132 decCh1->SetProbability(0.3);
133
134 // Decay 2 : 2OH + H_2
135 decCh2->AddProduct(H2);
136 decCh2->AddProduct(OH);
137 decCh2->AddProduct(OH);
138 decCh2->SetProbability(0.15);
139 decCh2->SetDisplacementType(G4DNAWaterDissociationDisplacer::B1A1_DissociationDecay);
140
141 // Decay 3 : OH + H_3Op + e_aq
142 decCh3->AddProduct(OH);
143 decCh3->AddProduct(H3O);
144 decCh3->AddProduct(e_aq);
145 decCh3->SetProbability(0.55);
146 decCh3->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
147
148 *occ = *(water->GetGroundStateElectronOccupancy());
149 occ->RemoveElectron(3); // this is the transition form ground state to
150 occ->AddElectron(5, 1); // the first unoccupied orbital: B^1A_1
151
152 water->NewConfigurationWithElectronOccupancy("B^1A_1", *occ);
153 water->AddDecayChannel("B^1A_1", decCh1);
154 water->AddDecayChannel("B^1A_1", decCh2);
155 water->AddDecayChannel("B^1A_1", decCh3);
156
157 //-------------------------------------------------------
158 //-------------------Excitation of 3rd layer-----------------
159 decCh1 = new G4MolecularDissociationChannel("Exc3rdLayer_AutoIoni_Channel");
160 decCh2 = new G4MolecularDissociationChannel("Exc3rdLayer_Relax_Channel");
161
162 // Decay channel 1 : : OH + H_3Op + e_aq
163 decCh1->AddProduct(OH);
164 decCh1->AddProduct(H3O);
165 decCh1->AddProduct(e_aq);
166
167 decCh1->SetProbability(0.5);
168 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
169
170 // Decay channel 2 : energy
171 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(2));
172 decCh2->SetProbability(0.5);
173
174 // Electronic configuration of this decay
175 *occ = *(water->GetGroundStateElectronOccupancy());
176 occ->RemoveElectron(2, 1);
177 occ->AddElectron(5, 1);
178
179 // Configure the water molecule
180 water->NewConfigurationWithElectronOccupancy("Exci3rdLayer", *occ);
181 water->AddDecayChannel("Exci3rdLayer", decCh1);
182 water->AddDecayChannel("Exci3rdLayer", decCh2);
183
184 //-------------------------------------------------------
185 //-------------------Excitation of 2nd layer-----------------
186 decCh1 = new G4MolecularDissociationChannel("Exc2ndLayer_AutoIoni_Channel");
187 decCh2 = new G4MolecularDissociationChannel("Exc2ndLayer_Relax_Channel");
188
189 // Decay Channel 1 : : OH + H_3Op + e_aq
190 decCh1->AddProduct(OH);
191 decCh1->AddProduct(H3O);
192 decCh1->AddProduct(e_aq);
193
194 decCh1->SetProbability(0.5);
195 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
196
197 // Decay channel 2 : energy
198 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(3));
199 decCh2->SetProbability(0.5);
200
201 *occ = *(water->GetGroundStateElectronOccupancy());
202 occ->RemoveElectron(1, 1);
203 occ->AddElectron(5, 1);
204
205 water->NewConfigurationWithElectronOccupancy("Exci2ndLayer", *occ);
206 water->AddDecayChannel("Exci2ndLayer", decCh1);
207 water->AddDecayChannel("Exci2ndLayer", decCh2);
208
209 //-------------------------------------------------------
210 //-------------------Excitation of 1st layer-----------------
211 decCh1 = new G4MolecularDissociationChannel("Exci1stLayer_AutoIoni_Channel");
212 decCh2 = new G4MolecularDissociationChannel("Exci1stLayer_Relax_Channel");
213
214 *occ = *(water->GetGroundStateElectronOccupancy());
215 occ->RemoveElectron(0, 1);
216 occ->AddElectron(5, 1);
217
218 // Decay Channel 1 : : OH + H_3Op + e_aq
219 decCh1->AddProduct(OH);
220 decCh1->AddProduct(H3O);
221 decCh1->AddProduct(e_aq);
222 decCh1->SetProbability(0.5);
223 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
224
225 // Decay channel 2 : energy
226 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(4));
227 decCh2->SetProbability(0.5);
228
229 water->NewConfigurationWithElectronOccupancy("Exci1stLayer", *occ);
230 water->AddDecayChannel("Exci1stLayer", decCh1);
231 water->AddDecayChannel("Exci1stLayer", decCh2);
232
233 /////////////////////////////////////////////////////////
234 // IONISATION //
235 /////////////////////////////////////////////////////////
236 //--------------------------------------------------------
237 //------------------- Ionisation -------------------------
238
239 decCh1 = new G4MolecularDissociationChannel("Ioni_Channel");
240
241 // Decay Channel 1 : : OH + H_3Op
242 decCh1->AddProduct(H3O);
243 decCh1->AddProduct(OH);
244 decCh1->SetProbability(1);
245 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::Ionisation_DissociationDecay);
246
247 *occ = *(water->GetGroundStateElectronOccupancy());
248 occ->RemoveElectron(4, 1);
249 // this is a ionized h2O with a hole in its last orbital
250 water->NewConfigurationWithElectronOccupancy("Ioni5", *occ);
251 water->AddDecayChannel("Ioni5", decCh1);
252
253 *occ = *(water->GetGroundStateElectronOccupancy());
254 occ->RemoveElectron(3, 1);
255 water->NewConfigurationWithElectronOccupancy("Ioni4", *occ);
256 water->AddDecayChannel("Ioni4", new G4MolecularDissociationChannel(*decCh1));
257
258 *occ = *(water->GetGroundStateElectronOccupancy());
259 occ->RemoveElectron(2, 1);
260 water->NewConfigurationWithElectronOccupancy("Ioni3", *occ);
261 water->AddDecayChannel("Ioni3", new G4MolecularDissociationChannel(*decCh1));
262
263 *occ = *(water->GetGroundStateElectronOccupancy());
264 occ->RemoveElectron(1, 1);
265 water->NewConfigurationWithElectronOccupancy("Ioni2", *occ);
266 water->AddDecayChannel("Ioni2", new G4MolecularDissociationChannel(*decCh1));
267
268 *occ = *(water->GetGroundStateElectronOccupancy());
269 occ->RemoveElectron(0, 1);
270 water->NewConfigurationWithElectronOccupancy("Ioni1", *occ);
271 water->AddDecayChannel("Ioni1", new G4MolecularDissociationChannel(*decCh1));
272
273 //////////////////////////////////////////////////////////
274 // Dissociative Attachment //
275 //////////////////////////////////////////////////////////
276 decCh1 = new G4MolecularDissociationChannel("DissociAttachment");
277
278 // Decay 1 : 2OH + H_2
279 decCh1->AddProduct(H2);
280 decCh1->AddProduct(OHm);
281 decCh1->AddProduct(OH);
282 decCh1->SetProbability(1);
283 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::DissociativeAttachment);
284
285 *occ = *(water->GetGroundStateElectronOccupancy());
286 occ->AddElectron(5, 1); // H_2O^-
287 water->NewConfigurationWithElectronOccupancy("DissociAttachment", *occ);
288 water->AddDecayChannel("DissociAttachment", decCh1);
289
290 //////////////////////////////////////////////////////////
291 // Electron-hole recombination //
292 //////////////////////////////////////////////////////////
293 decCh1 = new G4MolecularDissociationChannel("H2Ovib_DissociDecay1");
294 decCh2 = new G4MolecularDissociationChannel("H2Ovib_DissociDecay2");
295 decCh3 = new G4MolecularDissociationChannel("H2Ovib_DissociDecay3");
296
297 // Decay 1 : 2OH + H_2
298 decCh1->AddProduct(H2);
299 decCh1->AddProduct(OH);
300 decCh1->AddProduct(OH);
301 decCh1->SetProbability(0.15);
302 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::B1A1_DissociationDecay);
303
304 // Decay 2 : OH + H
305 decCh2->AddProduct(OH);
306 decCh2->AddProduct(H);
307 decCh2->SetProbability(0.55);
308 decCh2->SetDisplacementType(G4DNAWaterDissociationDisplacer::A1B1_DissociationDecay);
309
310 // Decay 3 : relaxation
311 decCh3->SetProbability(0.30);
312
313 const auto pH2Ovib = G4H2O::Definition()->NewConfiguration("H2Ovib");
314 water->AddDecayChannel(pH2Ovib, decCh1);
315 water->AddDecayChannel(pH2Ovib, decCh2);
316 water->AddDecayChannel(pH2Ovib, decCh3);
317
318 delete occ;
319}
static G4H2O * Definition()
Definition G4H2O.cc:42
void AddProduct(Product *, G4double displacement=0.)
const G4ElectronOccupancy * GetGroundStateElectronOccupancy() const
void AddDecayChannel(const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)
G4MolecularConfiguration * NewConfiguration(const G4String &excitedStateLabel)
G4MolecularConfiguration * NewConfigurationWithElectronOccupancy(const G4String &excitedStateLabel, const G4ElectronOccupancy &, double decayTime=0.)
static G4MoleculeTable * Instance()

Referenced by G4EmDNAChemistry::ConstructDissociationChannels(), G4EmDNAChemistry_option1::ConstructDissociationChannels(), and G4EmDNAChemistry_option2::ConstructDissociationChannels().

◆ ConstructMolecule()

void G4ChemDissociationChannels::ConstructMolecule ( )
static

Definition at line 48 of file G4ChemDissociationChannels.cc.

49{
50 // Create the definition
58 auto molTable = G4MoleculeTable::Instance();
59
60 molTable->CreateConfiguration("H3Op", G4H3O::Definition());
62 molTable->CreateConfiguration("OHm", // just a tag to store and retrieve
63 // from G4MoleculeTable
65 -1, // charge
66 5.0e-9 * (m2 / s));
67 OHm->SetMass(17.0079 * g / Avogadro * c_squared);
68 molTable->CreateConfiguration("OH", G4OH::Definition());
69 molTable->CreateConfiguration("e_aq", G4Electron_aq::Definition());
70 molTable->CreateConfiguration("H", G4Hydrogen::Definition());
71 molTable->CreateConfiguration("H2", G4H2::Definition());
72 molTable->CreateConfiguration("H2O2", G4H2O2::Definition());
73}
static G4Electron_aq * Definition()
static G4H2O2 * Definition()
Definition G4H2O2.cc:45
static G4H2 * Definition()
Definition G4H2.cc:45
static G4H3O * Definition()
Definition G4H3O.cc:46
static G4Hydrogen * Definition()
Definition G4Hydrogen.cc:45
static G4OH * Definition()
Definition G4OH.cc:45

Referenced by G4EmDNAChemistry::ConstructMolecule(), G4EmDNAChemistry_option1::ConstructMolecule(), and G4EmDNAChemistry_option2::ConstructMolecule().


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