Bi-modal response from ~30 keV gamma interacting with YAP (Yttrium Aluminum Perovskite) scintillator

Hi All,

I am currently working with Geant4 10.06.p03 and I am attempting to simulate a ~30 keV gamma interaction with a YAP scintillator (~1mm thickness). I am interested in observing the total number of generated scintillation photons.

In my current build (I think) I have low energy electromagnetic physics for atomic de-excitation turned on, through the use of “fluo”, “auger”, “augerCascade”, and “pixe” set to True in my physics lists script. I am also using the EMLivermore physics list as well.

Upon a run, I observed a bi-modal response (two peaks: one at 350 photons, which makes up about 90% of the total data, and another at around 790 photons) in a histogram of the total number of scintillation photons generated, when holding the position of interaction constant. If I perform the same simulation, instead using electrons, seeded at the point of interaction, with the same energy as that of the previously incoming gamma, I generate a histogram with a single peak, with a mean of 835 photons.

My current thought is that I am somehow not including some library/method needed to simulate the gamma-electron interaction properly. Please let me know if you think this is the case, and/or what I could do to correct this issue.

Thank you all for your time reading this. If you would like any other information to aid you in understanding my issue please let me know and I will gladly make it available.


Dear Frank,

I suggest the following methodology. First plot the energy deposition spectrum due to incident gamma rays and electrons and see the results. Then, activate the Geant4 optical photon package on top and you will record the spectrum of the optical photons. This will allow to understand about the physics processes that are taking place, to make sure that what is happening in the simulation is what you expect by a physics point of view.

In addition, are you sure that your electrons are not fully absorbed? this would explain why you have a single peak.


Dear Susanna,

Thank you so much for your comment. I have previously attempted what you have suggested and it seems as though the scintillation process is only active for electrons.

In the YAP scintillator, when using a gamma particle in the particle generator, an electron secondary takes on about half of the energy, which seems to correspond correctly to what is expected given the incident energy of the gamma and the binding energies listed for Yttrium. The other half is absorbed by atom, which should be emitted via Auger or x-ray emission. Geant seems to approximate the latter part, as energy deposited by the incident gamma.

I have tried to implement what is described at this page: Low Energy Electromagnetic Physics - Atomic Deexcitation |
And receive an error when doing so stating that the processes are not found. I am using the Livermore physics library. I would guess from this that my implementation of the physics library is not correct, but am not sure given that the use of an electron as incident particle seems to scintillate.

Dear Frank, I suggest you look at TestEm5 to check that you are activating correctly the de-excitation. Which error do you get?

Hi Susanna,

Sorry for the late response, and thank you so far for all of your help. The error I receive when attempting to use the commands listed in the previously linked page is:

***** COMMAND NOT FOUND </process/em/auger true> *****

***** Batch is interrupted!! *****

-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : UIMAN0123
issued by : G4UImanager::ApplyCommand
Command aborted (100)
Error code : 100
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

I assume this has something to do with some aspect of the UI manager not being initialized correctly. I have tried to implement aspects of the TestEm* extended electromagnetic examples, and I am able to compile and execute, even using the commands from the linked page. What I also find odd is that I am using the same main script when using either of the physics lists; the one from the adapted physics list and my original one. Unfortunately, I am not able to determine what is being done differently between the two physics lists that would allow one to accept the commands and the other to not accept them.

Any and all help is greatly appreciated.



you need to specify what version of Geant4 is used. For any version TestEm5 should work out of the box for most macro.


Hi @civanch and @guatelli,

Thank you both so much for your time and consideration. I have discovered that my issue was due to an improper use of the physics lists. My current use is now:

G4VModularPhysicsList* physicsList = new FTFP_BERT;
physicsList->ReplacePhysics(new G4EmStandardPhysics());
G4OpticalPhysics* opticalPhysics = new G4OpticalPhysics();
runManager-> SetUserInitialization(physicsList);

Which was adapted and adopted from the “OpNovice” example, as suggested by a colleague of mine. Previously, I was referencing a custom physics list which I think may have not allowed for the use of the calls to the desired processes within my macro file (as referenced in:

Thanks again for all of your help.


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.