00001 #ifndef HLTCRITERIA_H 00002 #define HLTCRITERIA_H 00003 00004 #include <string> 00005 #include <vector> 00006 #include "HltStore/HltStoreSvc.h" 00007 00008 namespace HltProcessor { 00009 00010 class HltCriteria { 00011 00012 typedef struct { 00013 std::string name; 00014 float value; 00015 std::string type; 00016 int id; 00017 } CriteriaItem; 00018 00019 public: 00020 HltCriteria(int); 00021 virtual ~HltCriteria() {}; 00022 00023 bool satisfyCriteria() const; 00024 void addItem(const std::string& name, float value, const std::string& type,int id); 00025 00026 void setBehaviour(const std::string& behaviour) { 00027 m_behaviour = behaviour; 00028 } 00029 00030 const std::string& getBehaviour() const { 00031 return m_behaviour; 00032 } 00033 00034 const int idCriteria() const { 00035 return m_idCriteria; 00036 } 00037 00038 std::vector<CriteriaItem> getItemVec() { 00039 return m_items; 00040 } 00041 00042 private: 00043 std::string m_behaviour; 00044 00045 std::vector<CriteriaItem> m_items; 00046 int m_idCriteria; 00047 //static HltStoreSvc* m_HltStoreSvc; 00048 HltStoreSvc* m_HltStoreSvc; 00049 }; 00050 00051 } //namespace 00052 #endif //HLTCRITERIA_H