How to set physics list for hadron therapy

Hi experts,
I want to set physicslist for Hadron therapy.
this is the description of my reference paper.
“The GEANT4 (GEANT4.10.3)-based GATE (release 8.0) toolkit was employed. One of the recommended physics list for hadrontherapy by the GATE collaboration was employed [24].
The so-called QGSP−BIC−HP builder and standard option 3 were used to describe the hadronic and electromagnetic interactions, respectively. A range cut of 20 μm was considered
for protons, electrons, positrons, and gammas. Values of 75 and 85.7 eV were used for the ionization potentials in water and air, respectively”

[24] Grevillot L, Frisson T, Zahra N, Bertrand D, Stichelbaut F, Freud N, et al. Optimization of GEANT4 settings for proton pencil beam scanning simulations using GATE. NIM B. (2010) 268:3295–305.

I use this code.

PhysicsList :: PhysicsList() : G4VModularPhysicsList()
{
SetVerboseLevel(4);
defaultCutValue = 10.0*um;

// mandatory for G4NuclideTable
//
const G4double meanLife = 1*picosecond;
G4NuclideTable::GetInstance()->SetThresholdOfHalfLife(meanLife);

// Radioactive decay
RegisterPhysics(new G4DecayPhysics());
RegisterPhysics(new G4RadioactiveDecayPhysics());

//electromagnetic
RegisterPhysics(new G4EmStandardPhysics_option3());
RegisterPhysics(new G4IonBinaryCascadePhysics());
RegisterPhysics(new G4StoppingPhysics());

// Hadron Elastic scattering
//

RegisterPhysics(new G4HadronElasticPhysicsHP());

// Hadron Inelastic physics
//
RegisterPhysics( new G4HadronPhysicsQGSP_BIC_HP());

// Ion Elastic scattering
//
RegisterPhysics( new G4IonElasticPhysics());

}

PhysicsList::~PhysicsList()
{ }

void PhysicsList::ConstructParticle()
{
G4BosonConstructor pBosonConstructor;
pBosonConstructor.ConstructParticle();

G4LeptonConstructor pLeptonConstructor;
pLeptonConstructor.ConstructParticle();

G4MesonConstructor pMesonConstructor;
pMesonConstructor.ConstructParticle();

G4BaryonConstructor pBaryonConstructor;
pBaryonConstructor.ConstructParticle();

G4IonConstructor pIonConstructor;
pIonConstructor.ConstructParticle();

G4ShortLivedConstructor pShortLivedConstructor;
pShortLivedConstructor.ConstructParticle();
}

void PhysicsList::SetCuts()
{
G4VUserPhysicsList::SetCuts();
SetCutValue (20.0um ,“gamma”) ;
SetCutValue (20.0
um ,“e -”) ;
SetCutValue(20.0um ,“e+”) ;
SetCutValue (20.0
um ,"proton);
}

but unfortunately, I can’t get the correct dose for gamma or generally secondary particles.
please help me.

1 Like

If you develop a Gate application, better to continue the discussion on Gate forum.
If you use directly Geant4, try to compare with one of the G4 examples : Hadr06, Hadr07, NeutronSource, rdecay02, Activation.

1 Like

Thanks for your advice. I use GEANT4 platform. I tried to apply these physiclists but unfortunately, I can’t get the same plots for secondary ( electron and gamma) like reference paper.