Discrete energy depositions by ionIoni simulating carbon ions

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:

hist1

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!

1 Like

Hello,

please, note that Geant4 simulation include different components: tracking, physics, scoring. Your results may be affected by method you choose to score energy deposition. Also results may be affected by value of step size, which cannot be whatever small.

So, you need to perform some extra investigation of your scoring and dependence on step size.

VI