anchor.diff:      real(dp) :: dx, dy, dz
       real(dp) :: theta, phi
       real(dp),allocatable :: tmp3d(:,:,:)
  +    real(dp),allocatable :: luminosity_collection(:), position_collection(:,:)
   
       call mp_read_keyword(group, '.', 'type', type)
   
  
positive.code:      type(vector3d_dp) :: position
  
       ! Collection of positions (used for PointSourceCollection)
       real(dp),allocatable :: position_collection(:,:)
  
       ! Spot position and size
       integer :: n_spots = 0
  
negative.code:     type(photon),intent(inout) :: p
      ! the emitted photon
  
      integer :: i_source
  
      ! Set position to that of one of the point sources
      i_source = sample_pdf(src%collection_pdf)
      p%r = src%position_collection(i_source)
  
      ! Sample isotropic angle
      call random_sphere_angle3d(p%a)
  