Hello,
I am simulating carbon ions at 1250 MeV in a water phantom using Geant4 version 11.1.1 and the following physicslist:
PhysicsList::PhysicsList() : G4VModularPhysicsList()
{
G4LossTableManager::Instance();
defaultCutValue = 1.*mm;
cutForGamma = defaultCutValue;
cutForElectron = defaultCutValue;
cutForPositron = defaultCutValue;
SetVerboseLevel(0);
decay_List = new G4DecayPhysics();
emPhysicsList = new G4EmStandardPhysics_option4();
// hadronic processes
hadronPhys.clear();
//hadronPhys.push_back( new G4DecayPhysics());
hadronPhys.push_back( new G4RadioactiveDecayPhysics());
hadronPhys.push_back( new G4IonBinaryCascadePhysics());
hadronPhys.push_back( new G4EmExtraPhysics());
hadronPhys.push_back( new G4HadronElasticPhysicsHP());
hadronPhys.push_back( new G4StoppingPhysics());
hadronPhys.push_back( new G4HadronPhysicsQGSP_BIC_HP());
hadronPhys.push_back( new G4NeutronTrackingCut());
}
/////////////////////////////////////////////////////////////////////////////
PhysicsList::~PhysicsList()
{
delete emPhysicsList;
delete decay_List;
hadronPhys.clear();
for(size_t i=0; i<hadronPhys.size(); i++)
{
delete hadronPhys[i];
}
}
/////////////////////////////////////////////////////////////////////////////
void PhysicsList::ConstructParticle()
{
G4LeptonConstructor lepton;
lepton.ConstructParticle();
G4BosonConstructor boson;
boson.ConstructParticle();
G4MesonConstructor meson;
meson.ConstructParticle();
G4BaryonConstructor baryon;
baryon.ConstructParticle();
G4ShortLivedConstructor shortLived;
shortLived.ConstructParticle();
G4IonConstructor ion;
ion.ConstructParticle();
}
/////////////////////////////////////////////////////////////////////////////
void PhysicsList::ConstructProcess()
{
// Transportation
AddTransportation();
// decay physics
decay_List -> ConstructProcess();
// Elecromagnetic physics
emPhysicsList -> ConstructProcess();
// hadron physics
for(size_t i=0; i < hadronPhys.size(); i++)
{
hadronPhys[i] -> ConstructProcess();
}
return;
}
/////////////////////////////////////////////////////////////////////////////
void PhysicsList::SetCuts()
{
SetCutValue(cutForGamma, "gamma");
SetCutValue(cutForElectron, "e-");
SetCutValue(cutForPositron, "e+");
}
In the depth-dose profile I observed some fluctuations before the Bragg-peak:
I found out, that these fluctuations are caused by the ionIoni-Process of the carbon ions, which takes place at discrete depths. Has anyone ever observed such behavior and can tell me where the error is in my physicslist? Thanks in advance!