X-ray not produced below 100 keV

Hi all,

I am trying to simulate a simple problem with a 5 mm tungsten target irradiated by 320 keV monoenergetic electrons to generate x-ray spectrum with bremsstrahlung radiation,
and I am getting some spectrums that is not supposed to come out.


it seems like the energy is cut at 100 keV and not generating anything, so I tried electrons with 50 keV and nothing came out with it.

My physics model is
RegisterPhysics( new G4EmPenelopePhysics() ), which includes G4PenelopeBremsstrahlung model that is guaranteed to process bremsstrahlung down to much lower energy (and there is even a paper for it).

please let me know if I am doing anything wrong.
I appreciate for any insights.

1 Like

Hi dear

you calculated the bremsstrahlung radiation that were produced only by the primary electron. you should use PhotoElectric ,Compton,RayleighScattering and GammaConversion physics in your code.

Dear asra_talebi

Thank you for your quick answer. but I am wondering that resistering a modular physics does not include those processes already? anyway I will try adding processes separately and will see.

for more information you can use this example( /examples/extended/electromagnetic/TestEm1/)

Thanks, actually I solved the problem with by adding modular EmStandardPhysics onto the EMPenelope. It seems like a precise low E EM model does not include processes you have mentioned. I appreciate your help.

although the issue is marked resolved, could you please clarify a bit? The mentioned physics are all included, according to https://geant4.web.cern.ch/node/1621, i.e.:
G4PenelopePhotoElectricModel, G4PenelopeComptonModel, G4PenelopeRayleighModel and G4PenelopeGammaConversionModel. Does that mean, it is not sufficient to simply include the few lines

#include “G4EmPenelopePhysics.hh”;
G4VPhysicsConstructor* emPhysicsList = new G4EmPenelopePhysics();

and have a mostly complete list of physical processes e.g. for shooting around with gamma primary particles below 10 MeV?

@sblim how did you manage to register EmStandardPhysics ontop of EMPenelope? Is it a simple 2-line of code as above, and does the order of registering play a role?

Thanks a lot in advance :slight_smile:

Dear weller,

Since I am a newbie in Geant4, I do not know what was exactly going on with the process, but what I did is putting two Em Physics module in a row. Like

#include “G4EmPenelopePhysics.hh”;
#include “G4EmStandardPhysics.hh”;

RegisterPhysics(new G4EmStandardPhysics());
RegisterPhysics(new G4EmPenelopePhysics());

1 Like

Hallo, you need to activate only one EM constructor. The EM constructors have bee documented recently here: https://pubmed.ncbi.nlm.nih.gov/32392626/


1 Like