Photon out of component
Check if a photon intersection with an optical component plan is out of the optical component. Maybe define it as a boolean function inside OpticalComponent class as pure virtual function and implemented inside RoundOpticalComponent If photon is out of component, its direction should be set to (0,0,0).
Photon.propagate() should check if photon direction is null before calculating its new position.