#ifndef _sevt_SQualityCuts_h_ #define _sevt_SQualityCuts_h_ #include #include namespace sevt { /** \class SQualityCuts SQualityCuts.h sevt/SQualityCuts.h \author Darko Veberic \date 28 Jul 2009 \version $Id: SQualityCuts.h 18212 2010-12-21 14:16:51Z darko $ \ingroup sevt */ class SQualityCuts { public: class Mask { public: Mask(const short int mask = 0) : fMask(mask) { } bool CutPMT(const unsigned int pmtId) const { return fMask & (1 << (pmtId-1)); } bool CutLowGain(const unsigned int pmtId) const { return fMask & (1 << (pmtId+2)); } Mask& operator=(const short int mask) { fMask = mask; return *this; } private: short int fMask; }; typedef std::map StationMasks; SQualityCuts(const utl::TimeStamp& time, const StationMasks& masks) : fStartTime(time), fStationMasks(masks) { } const utl::TimeStamp& GetStartTime() const { return fStartTime; } void SetStartTime(const unsigned int gpsSecond) { fStartTime.SetGPSTime(gpsSecond); } void SetStartTime(const utl::TimeStamp& startTime) { fStartTime = startTime; } const StationMasks& GetStationMasks() const { return fStationMasks; } void SetStationMasks(const StationMasks& masks) { fStationMasks = masks; } private: utl::TimeStamp fStartTime; StationMasks fStationMasks; }; } #endif