249 {
250
251
252 auto OH = G4MoleculeTable::Instance()->GetConfiguration("OH");
253 auto OHm = G4MoleculeTable::Instance()->GetConfiguration("OHm");
254 auto e_aq = G4MoleculeTable::Instance()->GetConfiguration("e_aq");
255 auto H2 = G4MoleculeTable::Instance()->GetConfiguration("H2");
256 auto H3O = G4MoleculeTable::Instance()->GetConfiguration("H3Op");
257 auto H = G4MoleculeTable::Instance()->GetConfiguration("H");
258
259
260
261 auto *water = G4H2O::Definition();
264
266
267
268
269
271
272
273
276
277 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(0));
278 decCh1->SetProbability(0.35);
279 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::NoDisplacement);
280
281 decCh2->AddProduct(OH);
282 decCh2->AddProduct(H);
283 decCh2->SetProbability(0.65);
284 decCh2->SetDisplacementType(
285 G4DNAWaterDissociationDisplacer::A1B1_DissociationDecay);
286
287
288 occ->RemoveElectron(4, 1);
289 occ->AddElectron(5, 1);
290
291 water->NewConfigurationWithElectronOccupancy("A^1B_1", *occ);
292 water->AddDecayChannel("A^1B_1", decCh1);
293 water->AddDecayChannel("A^1B_1", decCh2);
294
295
296
300
301
302 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(1));
303 decCh1->SetProbability(0.3);
304
305
306 decCh2->AddProduct(H2);
307 decCh2->AddProduct(OH);
308 decCh2->AddProduct(OH);
309 decCh2->SetProbability(0.15);
310 decCh2->SetDisplacementType(
311 G4DNAWaterDissociationDisplacer::B1A1_DissociationDecay);
312
313
314 decCh3->AddProduct(OH);
315 decCh3->AddProduct(H3O);
316 decCh3->AddProduct(e_aq);
317 decCh3->SetProbability(0.55);
318 decCh3->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
319
320 *occ = *(water->GetGroundStateElectronOccupancy());
321 occ->RemoveElectron(3);
322 occ->AddElectron(5, 1);
323
324 water->NewConfigurationWithElectronOccupancy("B^1A_1", *occ);
325 water->AddDecayChannel("B^1A_1", decCh1);
326 water->AddDecayChannel("B^1A_1", decCh2);
327 water->AddDecayChannel("B^1A_1", decCh3);
328
329
330
332 "Excitation3rdLayer_AutoIonisation_Channel");
334 "Excitation3rdLayer_Relaxation_Channel");
335
336
337 decCh1->AddProduct(OH);
338 decCh1->AddProduct(H3O);
339 decCh1->AddProduct(e_aq);
340
341 decCh1->SetProbability(0.5);
342 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
343
344
345 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(2));
346 decCh2->SetProbability(0.5);
347
348
349 *occ = *(water->GetGroundStateElectronOccupancy());
350 occ->RemoveElectron(2, 1);
351 occ->AddElectron(5, 1);
352
353
354 water->NewConfigurationWithElectronOccupancy("Excitation3rdLayer", *occ);
355 water->AddDecayChannel("Excitation3rdLayer", decCh1);
356 water->AddDecayChannel("Excitation3rdLayer", decCh2);
357
358
359
361 "Excitation2ndLayer_AutoIonisation_Channel");
363 "Excitation2ndLayer_Relaxation_Channel");
364
365
366 decCh1->AddProduct(OH);
367 decCh1->AddProduct(H3O);
368 decCh1->AddProduct(e_aq);
369
370 decCh1->SetProbability(0.5);
371 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
372
373
374 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(3));
375 decCh2->SetProbability(0.5);
376
377 *occ = *(water->GetGroundStateElectronOccupancy());
378 occ->RemoveElectron(1, 1);
379 occ->AddElectron(5, 1);
380
381 water->NewConfigurationWithElectronOccupancy("Excitation2ndLayer", *occ);
382 water->AddDecayChannel("Excitation2ndLayer", decCh1);
383 water->AddDecayChannel("Excitation2ndLayer", decCh2);
384
385
386
388 "Excitation1stLayer_AutoIonisation_Channel");
390 "Excitation1stLayer_Relaxation_Channel");
391
392 *occ = *(water->GetGroundStateElectronOccupancy());
393 occ->RemoveElectron(0, 1);
394 occ->AddElectron(5, 1);
395
396
397 decCh1->AddProduct(OH);
398 decCh1->AddProduct(H3O);
399 decCh1->AddProduct(e_aq);
400 decCh1->SetProbability(0.5);
401 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
402
403
404 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(4));
405 decCh2->SetProbability(0.5);
406
407 water->NewConfigurationWithElectronOccupancy("Excitation1stLayer", *occ);
408 water->AddDecayChannel("Excitation1stLayer", decCh1);
409 water->AddDecayChannel("Excitation1stLayer", decCh2);
410
411
412
413
414
415
416
418
419
420 decCh1->AddProduct(H3O);
421 decCh1->AddProduct(OH);
422 decCh1->SetProbability(1);
423 decCh1->SetDisplacementType(
424 G4DNAWaterDissociationDisplacer::Ionisation_DissociationDecay);
425
426 *occ = *(water->GetGroundStateElectronOccupancy());
427 occ->RemoveElectron(4, 1);
428
429 water->NewConfigurationWithElectronOccupancy("Ionisation5", *occ);
430 water->AddDecayChannel("Ionisation5",
431 decCh1);
432
433 *occ = *(water->GetGroundStateElectronOccupancy());
434 occ->RemoveElectron(3, 1);
435 water->NewConfigurationWithElectronOccupancy("Ionisation4", *occ);
436 water->AddDecayChannel("Ionisation4",
438
439 *occ = *(water->GetGroundStateElectronOccupancy());
440 occ->RemoveElectron(2, 1);
441 water->NewConfigurationWithElectronOccupancy("Ionisation3", *occ);
442 water->AddDecayChannel("Ionisation3",
444
445 *occ = *(water->GetGroundStateElectronOccupancy());
446 occ->RemoveElectron(1, 1);
447 water->NewConfigurationWithElectronOccupancy("Ionisation2", *occ);
448 water->AddDecayChannel("Ionisation2",
450
451 *occ = *(water->GetGroundStateElectronOccupancy());
452 occ->RemoveElectron(0, 1);
453 water->NewConfigurationWithElectronOccupancy("Ionisation1", *occ);
454 water->AddDecayChannel("Ionisation1",
456
457
458
459
461
462
463 decCh1->AddProduct(H2);
464 decCh1->AddProduct(OHm);
465 decCh1->AddProduct(OH);
466 decCh1->SetProbability(1);
468 DissociativeAttachment);
469
470 *occ = *(water->GetGroundStateElectronOccupancy());
471 occ->AddElectron(5, 1);
472 water->NewConfigurationWithElectronOccupancy("DissociativeAttachment", *occ);
473 water->AddDecayChannel("DissociativeAttachment", decCh1);
474
475
476
477
481
482
483 decCh1->AddProduct(H2);
484 decCh1->AddProduct(OH);
485 decCh1->AddProduct(OH);
486 decCh1->SetProbability(0.15);
488 B1A1_DissociationDecay);
489
490
491 decCh2->AddProduct(OH);
492 decCh2->AddProduct(H);
493 decCh2->SetProbability(0.55);
495 A1B1_DissociationDecay);
496
497
498 decCh3->SetProbability(0.30);
499
500 const auto pH2Ovib = G4H2O::Definition()->NewConfiguration("H2Ovib");
501 assert(pH2Ovib != nullptr);
502
503 water->AddDecayChannel(pH2Ovib, decCh1);
504 water->AddDecayChannel(pH2Ovib, decCh2);
505 water->AddDecayChannel(pH2Ovib, decCh3);
506
507 delete occ;
508}