I just have a few questions regarding how FLUKA handles OPTIPHOT, as listed below:

Does FLUKA handle Snell’s laws vectorally?

How does FLUKA handle photon absorption? Does it roll the probability for the photon to be absorbed every absorption length of the photon?

How does FLUKA handle OPTIPHOT generation?
–Are they produced randomly within the material as the primary history travels through it based on the energy deposited in the material?

FLUKA handles the Snell’s law and Fresnel equations at the boundaries of two mediums with different index of refraction. The transmitted and reflected rays are in the same plane as the emmited, as it should according to Snell’s law.

Photon absorption is related to the aborption coefficient of a material which can be change in the of the OPT-PROP card for SDUM=blank. The aborption coefficient is equal to the inverse of the aborption lenght for which the probability of absorption is 1/e using an exponential attenuation model. I invite you to read the dedicated manual entry for details.

For scintillation, photons are generated isotropically at the location of discrete energy deposition or isotropically and at random locations along tracks of continuous energy losses.

For cerenkov, they are produced along the characteristic Cherenkov cone along tracks with continuous energy losses for particles with velocity β>1/n.

A OPT-PROP card with the appropriate settings is mandatory to activate either of these production processes.