#ifndef MFILTER_H
#define MFILTER_H

/////////////////////////////////////////////////////////////////////////////
//                                                                         //
// MFilter                                                                 //
//                                                                         //
// Abstract base class for the filters                                     //
//                                                                         //
/////////////////////////////////////////////////////////////////////////////

#ifndef MTASK_H
#include "MTask.h"
#endif

class MParList;

class MFilter : public MTask
{
public:
    MFilter() {}
    ~MFilter()
    {
    }

    virtual Bool_t IsExpressionTrue() const;

    virtual Bool_t PreProcess(MParList *pList);
    virtual Bool_t Process();
    virtual Bool_t PostProcess();

    ClassDef(MFilter, 0)		// Abstract base class for the filters
};

#endif
