getDataFrame' ::  DataFrameH5 -> Int -> IO DataFrame
getDataFrame' d i = do
  mu <- get_position (h5mu d) i
  omega <- get_position (h5omega d) i
  delta <- get_position (h5delta d) i
  gamma <- get_position (h5gamma d) i
  wavelength <- get_position (h5wavelength d) 0
  ub <- get_ub (h5ub d)
  let positions = concat [mu, omega, delta, gamma]
  let source = Source (head wavelength *~ nano meter)
  return DataFrame { df_n = i
                   , df_geometry = Geometry Uhv source positions Nothing
                   , df_ub = ub
                   }
getDataFrame' ::  DataFrameH5 -> Int -> IO DataFrame
getDataFrame' d i = do
  mu <- get_position (h5mu d) i
  omega <- get_position (h5omega d) i
  delta <- get_position (h5delta d) i
  gamma <- get_position (h5gamma d) i
  wavelength <- get_position (h5wavelength d) 0
  ub <- get_ub (h5ub d)
  let positions = concat [mu, omega, delta, gamma]
  let source = Source (head wavelength *~ nano meter)
  return DataFrame { df_n = i
                   , df_geometry = Geometry Uhv source positions Nothing
                   , df_ub = ub
                   }
getDataFrame' d i = do
  mu <- get_position (h5mu d) i
  omega <- get_position (h5omega d) i
  delta <- get_position (h5delta d) i
  gamma <- get_position (h5gamma d) i
  wavelength <- get_position (h5wavelength d) 0
  ub <- get_ub (h5ub d)
  let positions = concat [mu, omega, delta, gamma]
  let source = Source (head wavelength *~ nano meter)
  return DataFrame { df_n = i
                   , df_geometry = Geometry Uhv source positions Nothing
                   , df_ub = ub
                   }