Bremsstrahlung Splitting

Hi everyone,

I would like to do bremsstrahlung splitting for a device that uses x-ray tube. I would then like to just save the photon phase spaces and use them to sample for interaction with matter. I have a few questions regarding this:

1- I tried to follow the Geant4 Bremsstrahlung splitting on the bremsstrahlung example G0B4. However, I am not seeing any split photons and I have the same number of photons in place. Another thing is that I have Penelope physics list and I don’t know if I can use that along with the process in this example.

2- Since, I need to sample from photon phase space in another simulation which does not do any variance reduction, I think I don’t need to reverse this splitting event by any Russian Rolette phenomenon. Is that correct?

Here is the link to the example and any response is greatly appreciated.

  1. Note that one can use the brem splitting built into EM processes:
    Physics Processes — Book For Application Developers 11.0 documentation
    which is likely simpler than the method of GB04.

  2. In principle, as long as you keep track of the weights, the simulation should be correct.

Thank you so much for this response and the link. It is definitely useful and I am reading about activating bremsstrahlung splitting in the macrofile, which definitely seems more straight forward. However, I was wondering how to connect this macro based command which is given as an example to the G4Region I would like to define in my DetectorConstruction. Should I introduce the command in a DetectorMessenger class?
/process/em/setSecBiasing eBrem target 10 100 MeV

I’m not sure what your question is. If you’d like to enable brem splitting in a G4Region, you can define that region in your detector construction. Then use the command in your macro:

replacing ‘target’ with the name of your region. This command is already defined in Geant4, so don’t define it yourself.

You don’t have to define a region. In this case, use “world” as the name of the region:

/process/em/setSecBiasing eBrem world 10 100 MeV

and the splitting will occur everywhere.

1 Like

Thank you again for your helpful comments! Another question is that using these macrofile based commands, is there anyway to save the weight of the generated split particles for statistical analysis purposes?

Yes, track->GetWeight() if you are recording values yourself.