20#include "BDSIonPhotonEmission.hh"
21#include "BDSLaserIonExcitation.hh"
22#include "BDSPhysicsLaserIonExcitation.hh"
25#include "G4AutoDelete.hh"
26#include "G4Electron.hh"
29#include "G4GenericIon.hh"
30#include "G4Hydrogen.hh"
31#include "G4IonTable.hh"
32#include "G4ParticleDefinition.hh"
33#include "G4ProcessManager.hh"
34#include "G4Version.hh"
37BDSPhysicsLaserIonExcitation::BDSPhysicsLaserIonExcitation():
38 G4VPhysicsConstructor(
"BDSPhysicsLaserPhotoDetachment")
41BDSPhysicsLaserIonExcitation::~BDSPhysicsLaserIonExcitation()
44void BDSPhysicsLaserIonExcitation::ConstructParticle()
46 G4Electron::ElectronDefinition();
48 G4GenericIon::Definition();
51void BDSPhysicsLaserIonExcitation::ConstructProcess()
59 G4AutoDelete::Register(laserIonExcitation);
60 G4AutoDelete::Register(decay);
61#if G4VERSION_NUMBER > 1029
62 auto aParticleIterator = GetParticleIterator();
64 aParticleIterator->reset();
65 G4String name = laserIonExcitation->GetProcessName();
66 while ((*aParticleIterator)())
68 G4ParticleDefinition* particle = aParticleIterator->value();
70 if(G4IonTable::IsIon(particle))
72 G4ProcessManager* pmanager = particle->GetProcessManager();
73 pmanager->AddDiscreteProcess(laserIonExcitation);
74 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.