00001
00002 #ifndef ROOT_StCustomFilter
00003 #define ROOT_StCustomFilter
00004
00005
00007
00008
00009
00010
00012
00013 #include "StEventHelper.h"
00014
00015 class StEvent;
00016 class StTrack;
00017 class StarClassLibrary;
00018 class BetheBloch;
00019
00020
00021
00022
00023 class StCustomFilter : public StFilterABC {
00024 public:
00025 StCustomFilter(const char *name,bool active=true);
00026 ~StCustomFilter();
00027 virtual float *GetPars() const {return (float*)(&fFirst+1);}
00028 virtual const float *GetDefs() const;
00029 virtual const char **GetNams() const;
00030
00031 protected:
00032 virtual Int_t Accept(StPoints3DABC *pnt) {;}
00033 virtual Int_t AcceptCB(StPoints3DABC *pnt, Color_t&, Size_t&, Style_t&);
00034 private:
00035 Int_t Accept(const StTrack *track);
00036
00037 protected:
00038 BetheBloch* mBB;
00039
00040 private:
00041 float fFirst;
00042
00043
00044
00045
00046 float fpCutHigh;
00047 float fnHitsCutHighP;
00048
00049
00050 float fpCutLow;
00051 float fnHitsCutLowP;
00052 float fchargeForLowP;
00053 float fdEdxMassCutHigh;
00054 float fdEdxFractionCutHigh;
00055 float fdEdxMassCutLow;
00056 float fdEdxFractionCutLow;
00057
00058
00059 float fLast;
00060
00061 ClassDef(StCustomFilter,0)
00062 };
00063
00064 #endif //ROOT_StCustomFilter