QFilter.hh
Go to the documentation of this file.00001
00039 #ifndef _Q_FILTER_MODULE_HH_
00040 #define _Q_FILTER_MODULE_HH_
00041
00042 #include "QBaseModule.hh"
00043
00044 using namespace Cuore;
00045
00046 class QFilter : public QBaseModule
00047 {
00048 public:
00050 QFilter(const std::string& name, QSequence* s);
00051
00053 virtual ~QFilter() {}
00054 protected:
00056 virtual void GetCuts() = 0;
00057
00059 virtual bool Filter(const QEvent* ev) = 0;
00060
00061 private:
00063 bool fSkipEvents;
00064 enum {
00065 AND,
00066 CASE,
00067 OR,
00068 } fLogicFlag;
00069
00070 unsigned long long fTotEvents;
00071 unsigned long long fSelEvents;
00072
00073 void Begin();
00074 QEvent* Process(QEvent* ev);
00075 void End();
00076
00077 std::string fAuxDataName;
00078
00079 };
00080
00081 #undef REGISTER_MODULE
00082 #define REGISTER_MODULE(clazz) REGISTER_MOD(clazz,QFilter)
00083
00084 #endif