#ifndef __JTRIGGER__JPMTHEADER__ #define __JTRIGGER__JPMTHEADER__ #include "km3net-dataformat/online/JDAQChronometer.hh" #include "km3net-dataformat/online/JDAQPMTIdentifier.hh" #include "JGeometry3D/JAxis3D.hh" /** * \author mdejong */ namespace JTRIGGER {} namespace JPP { using namespace JTRIGGER; } namespace JTRIGGER { using KM3NETDAQ::JDAQChronometer; using KM3NETDAQ::JDAQPMTIdentifier; using JGEOMETRY3D::JAxis3D; /** * Header for PMT. */ struct JPMTHeader : public JDAQChronometer, public JDAQPMTIdentifier, public JAxis3D { /** * Default constructor. */ JPMTHeader() : JDAQChronometer (), JDAQPMTIdentifier(), JAxis3D () {} /** * Constructor. * * \param chronometer DAQ chronometer * \param id PMT identifier * \param axis PMT axis */ JPMTHeader(const JDAQChronometer& chronometer, const JDAQPMTIdentifier& id, const JAxis3D& axis) : JDAQChronometer (chronometer), JDAQPMTIdentifier(id), JAxis3D (axis) {} /** * Get PMT header. * * \return PMT header */ const JPMTHeader& getPMTHeader() const { return static_cast(*this); } /** * Set PMT header. * * \param header PMT header */ void setPMTHeader(const JPMTHeader& header) { static_cast(*this) = header; } }; } #endif