#ifndef MARS_MFSelBasic
#define MARS_MFSelBasic

/////////////////////////////////////////////////////////////////////////////
//                                                                         //
// MFSelBasic                                                           //
//                                                                         //
// Class to evaluate basic cuts                                            //
//                                                                         //
/////////////////////////////////////////////////////////////////////////////

#ifndef MARS_MFilter
#include "MFilter.h"
#endif

class MPointingPos;
class MGeomCam;
class MCerPhotEvt;
class MPedestalCam;
class MRawRunHeader;

class MFSelBasic : public MFilter
{
private:
    const MPointingPos  *fPointPos;       
    const MGeomCam      *fCam;      // Camera Geometry 
    const MCerPhotEvt   *fEvt;      // Cerenkov Photon Event 
    //const MPedestalCam  *fPed;      // Pedestal information
    const MRawRunHeader *fRawRun;

    Float_t     fMinPhotons;
    Float_t     fThetaMin;
    Float_t     fThetaMax;

    Int_t       fCut[5];

    Bool_t      fResult;

    Int_t Set(Int_t rc);

    Int_t PreProcess(MParList *pList);
    Int_t Process();
    Int_t PostProcess();

    Bool_t IsExpressionTrue() const { return fResult; }

    Bool_t SwTrigger();

public:
    MFSelBasic(const char *name=NULL, const char *title=NULL);

    void SetCuts(Float_t minphotons, Float_t thetamin, Float_t thetamax);

    ClassDef(MFSelBasic, 0)   // Class to evaluate basic cuts
};

#endif











