00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <iomanip>
00013 #include "Passage.hpp"
00014 #include <vector>
00015
00016 using std::vector;
00017
00018 #ifndef _MMRPASSAGE_HPP
00019 #define _MMRPASSAGE_HPP
00020
00026 class MMRPassage : public Passage {
00027
00028 public:
00029 double wt;
00030 double wtSim;
00031 double qSim;
00032 double maxSim;
00033
00034 MMRPassage(const char* id) {
00035 psg = new passageVec;
00036 docID = (char*) id;
00037 score = -1;
00038 marked = 0;
00039 wt = 1.0;
00040 qSim = 0.0;
00041 wtSim = 0.0;
00042 maxSim = -1.0;
00043 }
00044
00045 virtual void clear();
00046
00047 virtual void addTerm(termCount term);
00048
00049 virtual void addTerms(passageVec pv);
00050
00051 virtual passageVec* getAsVector(void);
00052
00053 virtual int operator<(Passage &b);
00054
00055 virtual double computeMMR(double lambda) const;
00056
00057 virtual double dotProduct(MMRPassage b) const;
00058
00059 virtual void scale(double val) const;
00060
00061 };
00062
00063 #endif