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

Generated on Tue Nov 16 10:49:56 2010 for CUORE Software by  doxygen 1.5.6