19#include "BDSPhysicsEMDissociation.hh"
21#include "G4EMDissociation.hh"
22#include "G4EMDissociationCrossSection.hh"
24#include "G4GenericIon.hh"
25#include "G4HadronInelasticProcess.hh"
26#include "G4IonConstructor.hh"
27#include "G4ProcessManager.hh"
30#include "G4HadronicProcessType.hh"
33BDSPhysicsEMDissociation::BDSPhysicsEMDissociation():
34 G4VPhysicsConstructor(
"BDSPhysicsEMDissociation")
40 G4GenericIon::GenericIon();
42 G4IonConstructor pConstructor;
43 pConstructor.ConstructParticle();
51 G4HadronInelasticProcess* inelProcIon =
new G4HadronInelasticProcess(
"EMD", G4GenericIon::GenericIon());
55 inelProcIon->SetProcessSubType(G4HadronicProcessType::fEMDissociation);
58 G4EMDissociationCrossSection* crossSectionData =
new G4EMDissociationCrossSection();
59 inelProcIon->AddDataSet(crossSectionData);
61 G4EMDissociation* emdModel =
new G4EMDissociation();
62 emdModel->SetMaxEnergy(100*CLHEP::TeV);
63 emdModel->SetMinEnergy(1*CLHEP::MeV);
64 inelProcIon->RegisterMe(emdModel);
66 G4ProcessManager* pmanager = G4GenericIon::GenericIon()->GetProcessManager();
67 pmanager->AddDiscreteProcess(inelProcIon);
virtual void ConstructParticle()
Construct all leptions, photons (inc optical), and pion +- just in case.
virtual void ConstructProcess()
Construct and attach the processes to the relevant particles.
G4bool Activated() const
Get whether this instance has been activated.
void SetActivated()
Flag this instance as activated for later querying.