19#include "BDSIonPhotonEmission.hh"
20#include "BDSLaserIonExcitation.hh"
21#include "BDSPhysicsLaserIonExcitation.hh"
24#include "G4AutoDelete.hh"
25#include "G4Electron.hh"
28#include "G4GenericIon.hh"
29#include "G4Hydrogen.hh"
30#include "G4IonTable.hh"
31#include "G4ParticleDefinition.hh"
32#include "G4ProcessManager.hh"
33#include "G4Version.hh"
36BDSPhysicsLaserIonExcitation::BDSPhysicsLaserIonExcitation():
37 G4VPhysicsConstructor(
"BDSPhysicsLaserPhotoDetachment")
40BDSPhysicsLaserIonExcitation::~BDSPhysicsLaserIonExcitation()
43void BDSPhysicsLaserIonExcitation::ConstructParticle()
45 G4Electron::ElectronDefinition();
47 G4GenericIon::Definition();
50void BDSPhysicsLaserIonExcitation::ConstructProcess()
58 G4AutoDelete::Register(laserIonExcitation);
59 G4AutoDelete::Register(decay);
60#if G4VERSION_NUMBER > 1029
61 auto aParticleIterator = GetParticleIterator();
63 aParticleIterator->reset();
64 G4String name = laserIonExcitation->GetProcessName();
65 while ((*aParticleIterator)())
67 G4ParticleDefinition* particle = aParticleIterator->value();
69 if(G4IonTable::IsIon(particle))
71 G4ProcessManager* pmanager = particle->GetProcessManager();
72 pmanager->AddDiscreteProcess(laserIonExcitation);
73 pmanager->AddDiscreteProcess(decay);
Spontaneous emission of photon by relativistic ion.
G4bool Activated() const
Get whether this instance has been activated.
void SetActivated()
Flag this instance as activated for later querying.