00001 00002 #ifndef _Q_COINCIDENCE_FILTER_HH_ 00003 #define _Q_COINCIDENCE_FILTER_HH_ 00004 00005 #include "QNamed.hh" 00006 #include <list> 00007 00008 class QCoincidence; 00009 00015 class QCoincidenceFilter: public QNamed 00016 { 00017 public: 00019 QCoincidenceFilter(const std::string& name); 00020 00022 virtual ~QCoincidenceFilter(); 00023 00029 virtual bool Filter(const QCoincidence& coinc) const = 0; 00030 00035 virtual std::string Dump() const = 0; 00036 00037 virtual bool IsASplitter() const {return false;} 00038 00044 virtual std::list<QCoincidence> Split(const QCoincidence& coinc) const; 00045 00046 }; 00047 #endif