Please fill out the following information to help in answering your question, and also see tips for posting code snippets. If you don’t provide this information it will take more time to help with your problem!
_Geant4 Version:_11.3
_Operating System:_MacOS Sequoia
_Compiler/Version:_Apple clang version 16.0.0 (clang-1600.0.26.6)
_CMake Version:_cmake version 3.31.4
Hi
For the first time, I am attempting to use optical processes. The documentation says:
No surface defined
In the special case where no surface has been defined, but the two volumes defining the surface have the refractive index defined using the material property RINDEX, the surface is taken to be perfectly smooth, and both materials are taken to be dielectric. The photon can undergo total internal reflection, refraction or reflection, depending on the photon’s wavelength, angle of incidence, and the refractive indices on both sides of the boundary. Furthermore, reflection and transmission probabilities are sensitive to the state of linear polarization.
So, I defined
auto world_mat = nistManager->FindOrBuildMaterial("G4_AIR");
auto world_mat_prop = new G4MaterialPropertiesTable;
world_mat_prop->AddProperty("RINDEX", "Air");
and
auto crystal_mat = new G4Material("LYSO",7.25*g/cm3,5);
...
auto MT = new G4MaterialPropertiesTable();
MT->AddProperty("RINDEX", "PMMA");
crystal_mat->SetMaterialPropertiesTable(MT);
My gammas create some Cerenkov photons (via photoelectrons), but they always end on the crystal boundary. (Optical photons are white.)
I think you hit it. Ooops, mea culpa . I fixed that and it now runs without end!!! (I stopped it at 10 GB!), presumably because the optical photons keep internally reflecting for ever. I’ll try putting some absorption in. Or absorption on one face (a SiPM).