#ifndef __JDAQSUPERFRAMEHEADER_IO__ #define __JDAQSUPERFRAMEHEADER_IO__ #include "km3net-dataformat/online/JDAQSuperFrameHeader.hh" #include "JIO/JSerialisable.hh" #include "JDAQ/JDAQHeaderIO.hh" #include "JDAQ/JDAQModuleIdentifierIO.hh" #include "JDAQ/JDAQFrameStatusIO.hh" /** * \author mdejong */ namespace KM3NETDAQ { /** * Get size of type. * * \return number of bytes */ template<> size_t getSizeof<JDAQSuperFrameHeader>() { return (getSizeof<JDAQHeader>() + getSizeof<JDAQModuleIdentifier>() + getSizeof<JDAQFrameStatus>()); } /** * Read DAQ super frame header from input. * * \param in reader * \param header DAQ super frame header * \return reader */ inline JReader& operator>>(JReader& in, JDAQSuperFrameHeader& header) { in >> static_cast<JDAQHeader&> (header); in >> static_cast<JDAQModuleIdentifier&>(header); in >> static_cast<JDAQFrameStatus&> (header); return in; } /** * Write DAQ super frame header to output. * * \param out writer * \param header DAQ supe frame header * \return writer */ inline JWriter& operator<<(JWriter& out, const JDAQSuperFrameHeader& header) { out << static_cast<const JDAQHeader&> (header); out << static_cast<const JDAQModuleIdentifier&>(header); out << static_cast<const JDAQFrameStatus&> (header); return out; } } #endif