00001
00032 #ifndef BDUNIQUIFY_H
00033 #define BDUNIQUIFY_H
00034
00035 #include <Validity/VldTimeStamp.h>
00036
00037 #include <map>
00038 #include <deque>
00039 #include <vector>
00040
00041 class RawBeamMonBlock;
00042 class RawBeamMonHeaderBlock;
00043 class MomNavigator;
00044
00045 class BDUniquify {
00046 std::map<int,std::deque<VldTimeStamp> > fPastSpills;
00047 size_t fSize;
00048
00049 public:
00050 BDUniquify(size_t qsize = 10);
00051
00052 typedef std::pair<const RawBeamMonHeaderBlock*,const RawBeamMonBlock*> BlockPair;
00053 std::vector<BlockPair> GetUniqueBlocks(const MomNavigator &mom);
00054 bool IsUnique(const VldTimeStamp& vts, int event, int delay);
00055 void AddTimeStamp(const VldTimeStamp& vts, int event, int delay);
00056 };
00057
00058 #endif // BDUNIQUIFY_H