Scintillation Optical Photons Do Not Show

Hello, I am trying to simulate a BGO scintillation crystal.

In the simulation, 4.4 MeV neutrons appear inside a BGO cylinder with a given momentum. I expect the neutrons to interact with the BGO producing gammas which produce scintillation light as they go through the crystal.

The problem is that I cannot see the scintillation light. I see many optical photons coming from Cherenkov light and some optical photons coming from a eIoni process, but no process such as scintillation appears.

I have given the BGO the right properties (or at least I think I have), as you can see below, but as I said, no light from scintillation shows up.

// BGO Optical Properties (MPT)
    // Declare the MPT 
    G4MaterialPropertiesTable *BGO_mpt = new G4MaterialPropertiesTable();    
    // Define the energy region for optical properties
    G4double BGO_energy[3] = {1*eV, 2.5*eV, 5.0*eV}; 
    // Relative intensity of scintillation light over specified energy range
    G4double BGO_SCINT[3] = {1., 1., 1.};
    // Refractive index of BGO
    G4double BGO_RINDEX[3] = {2.15, 2.15, 2.15};
    // Absorption length of BGO for optical photons
    G4double BGO_ABSL[3] = {1.118*cm, 1.118*cm, 1.118*cm};
    // Add properties to the MPT
    BGO_mpt->AddProperty("SCINTILLATIONCOMPONENT1", BGO_energy, BGO_SCINT, 3);
    BGO_mpt->AddProperty("RINDEX", BGO_energy, BGO_RINDEX, 3);
    BGO_mpt->AddProperty("ABSLENGTH", BGO_energy, BGO_ABSL, 3);
    BGO_mpt->AddConstProperty("SCINTILLATIONYIELD", 8./keV);
    BGO_mpt->AddConstProperty("RESOLUTIONSCALE", 1.0);
    BGO_mpt->AddConstProperty("SCINTILLATIONTIMECONSTANT1", 300.*ns);
    // BGO_mt->AddConstProperty("SCINTILLATIONTIMECONSTANT2", 45.*ns); 
    // BGO_mpt->AddConstProperty("SCINTILLATIONYIELD1", 1.0);    
    // Attach material porperties table to the material

Maybe this is a physics error and not a programming error, or maybe I am just configuring the wrong way the BGO, but I would really appreciate some advice. Thank you in advance.

P.S.: Physics List is OK too, by the way.


Your optical parameters for BGO are not completely correct, but you should still be getting scintillation photons. Your SCINTILLATIONCOMPONENT1 is flat from 1 to 5 eV, which BGO isn’t (it is non zero from 1.9 eV to 3.3eV, peaks at 2.57 eV), but that won’t affect scintillation photon production. Also, I think your absorption length is too small. I estimate it should be 5.2*cm (derived from IEEE TRANSACTIONS ON NUCLEAR SCIENCE, VOL. 55, NO. 4, AUGUST 2008 Fig. 2). That will decrease the number of optical photons escaping, but not the number of scintillation photons created. In any case, I used your value and, although it decreased production as expected, there were still scintillation photons.

I tried modifying my code to your parameters, including switching off proton scintillation, to see if I could replicate your lack of scintillation photons and I could not. I get scintillation photons (not many) and optical photons at my PMT face (even fewer). But they are there. Here is a graph of my scintillation photon spectrum

and spectrum of optical photons at my PMT face.

My graphs wer obtained with 10^5 primary 4.4MeV neutrons isotropically emitted 10cm from the center of a 5.08 cm x 5.08 cm cylindrical scintillator. How many neutrons are you firing and what is your geometry?

Hi! Thanks for the response.

I think I am guessing incorrectly for the scintillation light. When I say that I don’t have any scintillation light is because I am running single events with the tracking verbose set to 2 and I see no “ProcName: Scintillation”. Does this mean that I have no scintillation light? I am very confused with this, as you can see, but I cannot find any information online that helps me out with this.

My geometry and primary generator are very similar to yours.

Other thing I would like to know is were I can find the needed information for the BGO optical properties and how the energy and scint arrays work. I cannot fully understand why they have three values and how the scint array works.

I would really appreciate the advice. Thank you.

If you are running single events with a geometry similar to mine, it is very possible that you just haven’t seen any events in which scintillation occurred. For example, in my simulation I fired 10^5 neutrons (events) and only 374 of them had scintillation. On average, you’d have to look at over 300 events to see one with scintillation.

I generally get my information for a scintillator on line. It can take a bit of time and some digging but most of it is out there. I hadn’t previously modelled BGO, so I looked at the St Gobain spec sheet online to get refractive index, time constant and yield. (Those are in a lot of textbooks and papers too.) Absorption length is harder to find. After some investigation, I came up with the reference I mentioned above.

The BGO_energy and BGO_scint arrays do not need to have 3 elements. The energy array has to span the optical energy range of the scintillator in which there is nonzero scintillation output, in this case roughly 1.95eV (637nm wavelength) to 3.31eV (374nm). If all the properties, like refractive index and absorption length, are constant within that range, you only need a 2 element vector because Geant4 will interpolate to get intermediate values (which of course are all the same). The scint array models the normalized optical output of the scintillator versus optical energy. If that output is not flat, as is the case for most scintillators, including BGO, I get the curve from the manufacturer or elsewhere, digitize it and convert it to relative intensity vs energy. Those two arrays are then the energy and scint arrays. If you don’t care about the scintillation spectrum, which many don’t, the two element arrays mentioned above are fine. One last point, the BGO_scint array must have the same number of elements as the BGO_energy array. There is an entire section on optical photon processes, including scintillation, in BookForApplicationDevelopers (section 5.2.6).

No. The process name in tracking verbose is the process that limits the step. Other processes such as scintillation are active even if they don’t limit the step. In the text output with /tracking/verbose 1 (or 2?) there are opticalphotons listed as secondaries, if they are created.