How to perform the ultrahigh dose rate

i want to simulate the flash therapy but i do not know to perform the simulation.

void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)

// Set gun position
->SetParticlePosition(G4ThreeVector(0., 0., -0.5));


in the mac file

we can set the : run beam on 1000 or run beam on 100000

but i wonder how to display the simulation processs of flash progress

in the simulation , i only set the single source while not the Linac so that i do not know the current.

I = Charge / time

1 Like

Dear, I am also try to perform the flash progress, but found it hard to trigger the dose rate in the Geant4. Do you have any ideas to solve these problems?

Hello ,

Why to display, store in a txt/dat file and read it later. You can set verbose, like /tracking/verbose 1 etc. Further,
./YourCode yourmacro.mac > outputmacro.dat

The example in the geant4 is based on IRT model.


please see this : examples/extended/medical/dna/UHDR or examples/advanced/eFLASH_radiotherapy from G4.11.2beta. Please, keep in mine that this is just the beta version

1 Like

Thanks for your recommend, I found that you have done a lot in this field. I am really excited to learn UHDR example :clap: :clap: :clap:

i compared the code between the UHDR and eFLASH, I found the difference of primarygeneratoraction
in UHDR :
for (i<numberof)
i wonder that the difference of the primaryaction between the two flash code, and i am confused that the two set codes of the flash is how to perform the ultrahigh dose rate.

these codes were developed independently. Then, please find a good way with your application.