Determine refraction results?

C++ Mac OS.
See PIC1 for two spheres which are actors with a static mesh sphere and glass material, and a spherical collision trigger around each.
So, I have 2 spheres and through AI/BT I know that the spheres can find each other.
But if I ‘fire’ or ‘send’ a beam of light from one to the other, and when it enters the other’s collision trigger, is it possible to determine, report, or otherwise ‘know’ the angle of refraction and reflection once the beam of light interacts with the sphere? The beam of light may hit it close to the edge, or closer to the center in various random occurrences. How can I access where the light beam will refract into the sphere’s inside and what point it hits on the inside of the sphere? See point C in the second diagram, PIC2. Is there a way to save the point location denoted by C in a variable in the sphere class?