#ifndef __JDAQTIMESLICEHEADER_IO__
#define __JDAQTIMESLICEHEADER_IO__

#include "km3net-dataformat/online/JDAQTimesliceHeader.hh"

#include "JIO/JSerialisable.hh"

#include "JDAQ/JDAQHeaderIO.hh"

/**
 * \author mdejong
 */
namespace KM3NETDAQ {

  /**
   * Get size of type.
   *
   * \return               number of bytes
   */
  template<>
  inline size_t getSizeof<JDAQTimesliceHeader>()
  {
    return getSizeof<JDAQHeader>();
  }


  /**
   * Read JDAQ time slice header from input.
   *
   * \param  in             reader
   * \param  header         DAQ time slice header
   * \return                reader
   */
  inline JReader& operator>>(JReader& in, JDAQTimesliceHeader& header)
  {
    in >> static_cast<JDAQHeader&>(header);
 
    return in;
  }


  /**
   * Write JDAQ time slice header to output.
   *
   * \param  out           writer
   * \param  header        DAQ time slice header
   * \return               writer
   */
  inline JWriter& operator<<(JWriter& out, const JDAQTimesliceHeader& header)
  {
    out << static_cast<const JDAQHeader&>(header);

    return out;
  }
}

#endif