Bind emission function to photon object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | choice |
Name of light source to use |
type(photon) function init_source(choice) !! Bind emission function to photon object !> Name of light source to use character(*), intent(IN) :: choice if(choice == "uniform")then init_source%emit => uniform elseif(choice == "pencil")then init_source%emit => pencil elseif(choice == "dslit")then init_source%emit => dslit elseif(choice == "aperture")then init_source%emit => aperture elseif(choice == "annulus")then init_source%emit => annulus elseif(choice == "focus")then init_source%emit => focus elseif(choice == "point")then init_source%emit => point elseif(choice == "circular")then init_source%emit => circular elseif(choice == "slm")then init_source%emit => slm else error stop "No such source!" end if end function init_source