DART-Ray
Data Types | Modules | Functions/Subroutines | Variables
ray_list.f90 File Reference

Data Types

type  ray_list::list_type1
 

Modules

module  ray_list
 Contains all the subroutines to handle the ray lists. A ray goes into a ray list if it is blocked because of the solid angle requirements for the ray beam not being fulfilled but still having substantial luminosity to be processed. There is a "high" list for rays to be split and a "low" list for rays that can potentially be joined together.
 

Functions/Subroutines

subroutine ray_list::create_high_ray_list (idir, idir2, src_lum, src_id, nside_low)
 This routine creates the first ray to be processed. It is set up as an high ray type. More...
 
subroutine ray_list::extract_ray_list (nside)
 This routine extracts a ray_list with the input NSIDE() value for the next ray propagation loop. More...
 
subroutine ray_list::expand_ray_list (label)
 This routines expands ray_list arrays when there are too many rays to be added to the list. More...
 
subroutine ray_list::compress_high_list ()
 This routine removes the elements from high_list that will be processed later. More...
 
subroutine ray_list::compress_low_list ()
 This routine removes elements from low_list that will be processed later. More...
 
subroutine ray_list::add_to_high_ray_list (theta, phi, nside, prev, isel_old, dplane, src_lum, cc, ray_type)
 This subroutine add the blocked ray to the high ray list. More...
 
subroutine ray_list::add_to_low_ray_list (theta, phi, nside, prev, isel_old, cproj, src_lum, cc)
 This routine adds the blocked ray to the low ray list. More...
 

Variables

type(list_type1), dimension(:), allocatable ray_list::ray_high_list
 
type(list_type1), dimension(:), allocatable ray_list::ext_ray_list
 
type(list_type1), dimension(:), allocatable ray_list::ray_low_list
 
integer ray_list::ihigh
 
integer ray_list::ilow
 
integer ray_list::dim_high
 
integer ray_list::dim_low
 
integer, dimension(:), allocatable ray_list::ind_ext
 
integer, parameter ray_list::inum =2000
 
logical ray_list::no_ray
 
integer, parameter ray_list::ray_type_high = 0
 
integer, parameter ray_list::ray_type_low = 1
 
integer, parameter ray_list::ray_type_reco = 2
 
integer, parameter ray_list::ray_type_gone = 3
 
integer, parameter ray_list::ray_type_i_obs = 4
 
integer, parameter ray_list::ray_type_i_obs_in = 5