anchor.diff:  
   ! should name_sel(1:11) extended to allow longer names as done for
   ! coll the coll_ellipse.dat file !!!!!!!!
  -  if(((cdb_cNameUC(icoll).eq.name_sel(1:mNameLen)).or.&
  -      (cdb_cName(icoll).eq.name_sel(1:mNameLen))) .and. iturn.eq.1  ) then
  +  if((cdb_cNameUC(icoll) == name_sel .or. cdb_cName(icoll) == name_sel) .and. iturn == 1) then
       num_selhit = 0
       num_surhit = 0
       num_selabs = 0
   
  -    do j = 1, napx
  -      if( part_hit_pos (j).eq.ie .and. part_hit_turn(j).eq.iturn ) then
  -
  -      num_selhit = num_selhit+1
  -
  -      if(part_abs_pos(j) .eq.0 .and. part_abs_turn(j).eq.0) then
  -        num_surhit = num_surhit+1
  -      else
  -        num_selabs = num_selabs + 1
  -      end if
  -
  +    do j=1,napx
  +      if(part_hit_pos (j) == ie .and. part_hit_turn(j) == iturn) then
  +        num_selhit = num_selhit+1
  +        if(part_abs_pos(j)  == 0 .and. part_abs_turn(j) == 0) then
  +          num_surhit = num_surhit+1
  +        else
  +          num_selabs = num_selabs + 1
  +        end if
   !++  If we want to select only partciles interacting at the specified
   !++  collimator then remove all other particles and reset the number
   !++  of the absorbed particles to the selected collimator.
  -      else if(do_select.and.firstrun) then
  +      else if(do_select .and. firstrun) then
           part_select(j) = 0
           n_tot_absorbed = num_selabs
         end if
  
positive.code:     write(outlun,*) ' '
      write(outlun,*)   'Collimator information: '
      write(outlun,*) ' '
      write(outlun,*) 'Name:                ', cdb_cNameUC(icoll)!(1:11)
      write(outlun,*) 'Material:            ', cdb_cMaterial(icoll)
      write(outlun,*) 'Length [m]:          ', cdb_cLength(icoll)
      write(outlun,*) 'Rotation [rad]:      ', cdb_cRotation(icoll)
  
negative.code:   end if
  
  !++  Write beam ellipse at selected collimator
    if((cdb_cNameUC(icoll) == name_sel .or. cdb_cName(icoll) == name_sel) .and. do_select) then
      do j=1,napx
        write(coll_ellipseUnit,'(1X,I8,6(1X,E15.7),3(1X,I4,1X,I4))') ipart(j),xv1(j), xv2(j), yv1(j), yv2(j), &
          ejv(j), sigmv(j),iturn,secondary(j)+tertiary(j)+other(j)+scatterhit(j),nabs_type(j)
      end do
    end if
  
  !-------------------------------------------------------------------
  !++  Output to temporary database and screen
    if(iturn == 1 .and. firstrun) then
      write(coll_tempDbUnit,*) '# '
      write(coll_tempDbUnit,*) cdb_cNameUC(icoll)
      write(coll_tempDbUnit,*) cdb_cMaterial(icoll)
      write(coll_tempDbUnit,*) cdb_cLength(icoll)
      write(coll_tempDbUnit,*) cdb_cRotation(icoll)
  