anchor.diff:              aa(fluka_nrecv)           = flaa          !PH for hiSix
               zz(fluka_nrecv)           = flzz          !PH for hiSix
               mass(fluka_nrecv)         = flm  * c1e3  ! from [GeV] to [MeV]         !PH for hiSix
  -            qq(fluka_nrecv)           = flzz
  -            call GetPDGid_fromFLUKA(-2, pdg_id(fluka_nrecv), flaa, flzz)
  +            qq(fluka_nrecv)           = flq
  +            pdg_id(fluka_nrecv)       = flpdgid
  +            spinx(fluka_nrecv)        = flsx
  +            spiny(fluka_nrecv)        = flsy
  +            spinz(fluka_nrecv)        = flsz
  +
  +!            The conversion is now done inside the coupling server
  +!            call GetPDGid_fromFLUKA(-2, pdg_id(fluka_nrecv), flaa, flzz)
         end if
   
         !Finished waiting end of turn
  
positive.code:               flid, flgen, flwgt, &
                flx, fly, flz, &
                flxp, flyp, flzp, &
                flaa, flzz, flm, flet, flt)
  
        if(n.eq.-1) then
          write(fluka_log_unit,*) "# FlukaIO error: Server timed out while waiting for message"
  
negative.code:     integer(kind=int16), allocatable :: zz(:)
      integer(kind=int16), allocatable :: qq(:)
      integer(kind=int32), allocatable :: pdg_id(:)
      real(kind=fPrec), allocatable :: spinx(:)
      real(kind=fPrec), allocatable :: spiny(:)
      real(kind=fPrec), allocatable :: spinz(:)
  
      ! Fluka I/O parameters
      integer(kind=int32) :: flid, flgen
      real(kind=fPrec)    :: flwgt, flx, fly, flz, flxp, flyp, flzp, flet, flm, flt
      integer(kind=int16) :: flaa, flzz, flq
      integer(kind=int8)  :: mtype
  
      integer(kind=int32) :: flpdgid
      real(kind=fPrec)    :: flsx, flsy, flsz
  
      ! Auxiliary variables
      integer :: j
  