00001 00002 #ifndef _Q_POSITION_FILTER_HH_ 00003 #define _Q_POSITION_FILTER_HH_ 00004 00005 #include "QCoincidenceFilter.hh" 00006 #include "QInterval.hh" 00007 #include "QTower.hh" 00008 00020 class QPositionFilter: public QCoincidenceFilter 00021 { 00022 public: 00023 00025 QPositionFilter(const std::string& name="QPositionFilter"); 00026 00028 virtual ~QPositionFilter(); 00029 00037 virtual bool Filter(const QCoincidence& coinc) const; 00038 00043 virtual std::string Dump() const; 00044 00057 void SetCut(const Cuore::QInterval& cut, unsigned int howMany) 00058 { fCut = cut; fHowMany = howMany; } 00059 00066 bool LoadDetectorMap(const std::string& fileName); 00067 00068 protected: 00069 00077 double GetDistance(int ch1, int ch2) const; 00078 00083 Cuore::QInterval fCut; 00084 00090 unsigned int fHowMany; 00091 00093 QTower fTower; 00094 }; 00095 #endif