#ifndef __JAANET__JEVTWEIGHTINTERFACE__ #define __JAANET__JEVTWEIGHTINTERFACE__ #include "km3net-dataformat/offline/Head.hh" #include "km3net-dataformat/offline/Evt.hh" #include "JAAnet/JHead.hh" /** * \author mdejong */ namespace JAANET { /** * Low-level interface for event weighing. */ struct JEvtWeightInterface { /** * Configuration. * * \param header header */ virtual void configure(const JHead& header) = 0; /** * Check whether header is consistent with this event weighter. * * \param header header * \return true if consistent; else false */ virtual bool check(const JHead& header) const = 0; /** * Get weight of given event. * * \param evt event * \return weight [Hz] */ virtual double getWeight(const Evt& evt) const = 0; /** * Get event-weight normalisation factor. * * \return event-weight normalisation factor. */ virtual double getNormalisation() const = 0; }; } #endif