Scintillation spectrum with Geant4 11.0

Dear All,

We were trying to simulate the Scintillation with gamma radiation using Geant4 11.0.
However, whatever I change the emission spectrum with mpt, the optical photon spectrum recorded is the same and disagree with the settings. Also with the modification of the SCINTILLATIONYIELD, the opticalphoton number does not change.

Any idea with this configuration as following?
	std::vector<G4double> refractiveIndexFiber = { 1.59, 1.59 };

	std::vector<G4double> energy = 
{
	1.66 * eV, 1.67 * eV, 1.68 * eV, 1.69 * eV, 1.70 * eV, 1.71 * eV, 1.72 * eV, 1.73 * eV, 1.74 * eV, 
	1.75 * eV, 1.76 * eV, 1.77 * eV, 1.78 * eV, 1.79 * eV, 1.80 * eV, 1.81 * eV, 1.82 * eV, 1.83 * eV, 
	1.84 * eV, 1.85 * eV, 1.86 * eV, 1.87 * eV, 1.88 * eV, 1.89 * eV, 1.90 * eV, 1.91 * eV, 1.92 * eV, 
	1.93 * eV, 1.94 * eV, 1.95 * eV, 1.96 * eV, 1.97 * eV, 1.98 * eV, 1.99 * eV, 2.00 * eV, 2.01 * eV, 
	2.02 * eV, 2.03 * eV, 2.04 * eV, 2.05 * eV, 2.06 * eV, 2.07 * eV, 2.08 * eV, 2.09 * eV, 2.10 * eV, 
	2.11 * eV, 2.12 * eV, 2.13 * eV, 2.14 * eV, 2.15 * eV, 2.16 * eV, 2.17 * eV, 2.18 * eV, 2.19 * eV, 
	2.20 * eV, 2.21 * eV, 2.22 * eV, 2.23 * eV, 2.24 * eV, 2.25 * eV, 2.26 * eV, 2.27 * eV, 2.28 * eV, 
	2.29 * eV, 2.30 * eV, 2.31 * eV, 2.32 * eV, 2.33 * eV, 2.34 * eV, 2.35 * eV, 2.36 * eV, 2.37 * eV, 
	2.38 * eV, 2.39 * eV, 2.40 * eV, 2.41 * eV, 2.42 * eV, 2.43 * eV, 2.44 * eV, 2.45 * eV, 2.46 * eV, 
	2.47 * eV, 2.48 * eV, 2.49 * eV, 2.50 * eV, 2.51 * eV, 2.52 * eV, 2.53 * eV, 2.54 * eV, 2.55 * eV, 
	2.56 * eV, 2.57 * eV, 2.58 * eV, 2.59 * eV, 2.60 * eV, 2.61 * eV, 2.62 * eV, 2.63 * eV, 2.64 * eV, 
	2.65 * eV, 2.66 * eV, 2.67 * eV, 2.68 * eV, 2.69 * eV, 2.70 * eV, 2.71 * eV, 2.72 * eV, 2.73 * eV, 
	2.74 * eV, 2.75 * eV, 2.76 * eV, 2.77 * eV, 2.78 * eV, 2.79 * eV, 2.80 * eV, 2.81 * eV, 2.82 * eV, 
	2.83 * eV, 2.84 * eV, 2.85 * eV, 2.86 * eV, 2.87 * eV, 2.88 * eV, 2.89 * eV, 2.90 * eV, 2.91 * eV, 
	2.92 * eV, 2.93 * eV, 2.94 * eV, 2.95 * eV, 2.96 * eV, 2.97 * eV, 2.98 * eV, 2.99 * eV, 3.00 * eV

  };

	std::vector<G4double> absFiber = 
{
	0.001 * m,  0.001 * m,  0.001 * m,  0.001 * m,  0.001 * m,  0.001 * m,  0.328 * m,  1.637 * m,  2.947 * m,  
	4.256 * m,  5.566 * m,  6.876 * m,  8.185 * m,  9.495 * m,  10.993 * m, 12.519 * m, 14.252 * m, 15.916 * m, 
	16.687 * m, 16.306 * m, 15.695 * m, 15.291 * m, 14.362 * m, 13.094 * m, 11.611 * m, 10.186 * m, 10.343 * m, 
	11.082 * m, 11.914 * m, 12.675 * m, 13.357 * m, 13.656 * m, 13.716 * m, 13.378 * m, 12.500 * m, 9.670 * m, 
	7.063 * m,  5.760 * m,  5.916 * m,  7.434 * m,  9.192 * m,  10.513 * m, 12.112 * m, 13.087 * m, 13.846 * m, 
	14.310 * m, 14.614 * m, 14.751 * m, 14.658 * m, 14.420 * m, 14.158 * m, 13.984 * m, 13.975 * m, 14.045 * m,
	14.168 * m, 14.259 * m, 14.352 * m, 14.450 * m, 14.450 * m, 14.439 * m, 14.306 * m, 14.142 * m, 13.839 * m, 
	13.303 * m, 12.413 * m, 11.281 * m, 10.566 * m, 10.458 * m, 10.807 * m, 11.167 * m, 11.467 * m, 11.648 * m, 
	11.678 * m, 11.547 * m, 11.404 * m, 11.195 * m, 10.956 * m, 10.726 * m, 10.502 * m, 10.257 * m, 10.014 * m, 
	9.795 * m,  9.527 * m,  9.256 * m,  8.994 * m,  8.741 * m,  8.437 * m,  8.141 * m,  7.853 * m,  7.577 * m,  
	7.231 * m,  6.896 * m,  6.502 * m,  6.182 * m,  5.823 * m,  5.486 * m,  5.192 * m,  4.872 * m,  4.567 * m,  
	4.269 * m,  3.951 * m,  3.658 * m,  3.402 * m,  3.122 * m,  2.903 * m,  2.695 * m,  2.512 * m,  2.321 * m,  
	2.164 * m,  2.019 * m,  1.876 * m,  1.745 * m,  1.604 * m,  1.439 * m,  1.256 * m,  1.050 * m,  0.865 * m,  
	0.693 * m,  0.549 * m,  0.419 * m,  0.369 * m,  0.318 * m,  0.267 * m,  0.216 * m,  0.166 * m,  0.115 * m,  
	0.064 * m,  0.013 * m,  0.001 * m,  0.001 * m,  0.001 * m,  0.001 * m,  0.001 * m,  0.001 * m,  0.001 * m

};

	std::vector<G4double> emissionFiber = 
{
	0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
	0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
	0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 
	0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 
	0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 
	0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
	0.0000, 0.0000, 0.0000, 0.0047, 0.0105, 0.0164, 0.0222, 0.0281, 0.0340, 
	0.0398, 0.0457, 0.0528, 0.0580, 0.0620, 0.0657, 0.0690, 0.0734, 0.0805, 
	0.0888, 0.0976, 0.1069, 0.1171, 0.1268, 0.1373, 0.1513, 0.1662, 0.1769, 
	0.1912, 0.2087, 0.2269, 0.2471, 0.2596, 0.2650, 0.2766, 0.2876, 0.2976, 
	0.3086, 0.3257, 0.3513, 0.3854, 0.4446, 0.5045, 0.5358, 0.5643, 0.5965, 
	0.6337, 0.6672, 0.6898, 0.7046, 0.7130, 0.7185, 0.7240, 0.7291, 0.7342, 
	0.7396, 0.7471, 0.7673, 0.8158, 0.8684, 0.9162, 0.9594, 0.9907, 1.0025, 
	0.9893, 0.9655, 0.9330, 0.8879, 0.8265, 0.7492, 0.6302, 0.4626, 0.3293, 
	0.2330, 0.1739, 0.1102, 0.0752, 0.0545, 0.0430, 0.0325, 0.0266, 0.0228

};
 

	G4int lenArray = 135;
	
	G4MaterialPropertiesTable* mptFiber = new G4MaterialPropertiesTable();
	mptFiber->AddProperty("RINDEX", energySmall, refractiveIndexFiber);
	mptFiber->AddProperty("ABSLENGTH", energy, absFiber, false, false);
  	mptFiber->AddProperty("SCINTILLATIONCOMPONENT1", energy, emissionFiber, false, false);
  	mptFiber->AddProperty("SCINTILLATIONCOMPONENT2", energy, emissionFiber, false, false);
  	mptFiber->AddConstProperty("SCINTILLATIONYIELD", 500. / keV);
  	mptFiber->AddConstProperty("RESOLUTIONSCALE", 1.0);
  	mptFiber->AddConstProperty("SCINTILLATIONTIMECONSTANT1", 1. * ns);
  	mptFiber->AddConstProperty("SCINTILLATIONTIMECONSTANT2", 10. * ns);
  	mptFiber->AddConstProperty("SCINTILLATIONYIELD1", 1);
  	mptFiber->AddConstProperty("SCINTILLATIONYIELD2", 0);
  


Thank you for help!


I don’t see the vector energySmall defined anywhere. It should be a 2-element vector (since refractiveIndexFiber appears to be constant) and the value of its elements should be such that the refractive index is defined for the range of emission energies used for ABSLENGTH, SCINTILLATIONCOMPONENT1 and SCINTILLATIONCOMPONENT2 (i.e., <= 1.66eV and >= 3.00eV.

Thank you for your kind reply.
Sorry I missed this vector, yes, the energySmall was defined as 1.66 * eV and 3.00 * eV.

This was resolved via email. Likely incorrect material properties.

Must have been incorrect material properties other than the ones shown in the post. I plugged those verbatim into a couple of my programs and they worked fine and could be modified as expected.

Thanks for checking, John. I don’t know what the issue was. The user sent this question to me via email, and later responded it was resolved. I don’t want to leave this thread open, when the issue is resolved.

For anyone else, extended example OpNovice2 provides an easy way to check optical material properties.