Optical surfaces for a scintillator detector

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:
Operating System:
Compiler/Version:
CMake Version:


Hi. I’m trying to model a scintilaltor detector, the idea is to produce gamma photons near the detector surface whoch should then produce optical photons in the scintillator crystal and detect the optical photons reach a virtual detctor at the opposite end of a detector. Also. I need to simulate a reflector around the crystal that reflects the optocal photons generated from all sides but the virtual detector.

My main question is how do I use the optical surfaces to achieve this? Here are the approaches I have in my mind

  1. Just define a G4LogicalSkinSurface attached to the entire crystal, but I’m not sure then how do I detect the optocal photons reaching the virtual detector.
  2. Use a logical border surface to define the reflector around the scintillator crystal and the world volume and keep the surface between the crystal and detector as ‘transparent’. In that case, does anyone know how closely overlapping the detector and crystal should be to effectively have a surface between them.

Thank youu

The best way to start would probably be to look at/modify one of the examples from the examples/extended/opticaldirectory. The OpNovice examples and probably the LXe experiment.