00001 #ifndef _SIGNATURE_ 00002 #define _SIGNATURE_ 00003 00004 #include <utility> 00005 #include <map> 00006 #include <vector> 00007 #include <string> 00008 #include <list> 00009 #include "HltTools/MessageSvcProvider.h" 00010 #include "HltSteerData/HltCriteria.h" 00011 00012 namespace HltProcessor { 00013 00014 class Signature 00015 { 00016 public: 00017 Signature(); 00018 Signature(std::vector<HltCriteria*>); 00019 virtual ~Signature(); 00020 int id() const; 00021 void setId(int); 00022 void print(); 00023 void makeVectors(HltCriteria* criteria); 00024 //inline const std::vector<HltCriteria*>& criteriaVector() const{ 00025 // return m_criteriaVec; 00026 //} 00027 bool isVeto() const; 00028 void setVeto(bool); 00029 float forcedAccept() const; 00030 void setForcedAccept(float); 00031 int prescale() const; 00032 void setPrescale(int); 00033 int predecessorId(); 00034 int successorId(); 00035 void setPredecessorId(int); 00036 void setSuccessorId(int); 00037 void setSigLabel(std::string label); 00038 std::string label() const; 00039 00041 int isCriteriaMatched(); 00042 const std::string& result() const { 00043 return m_result; 00044 } 00045 const std::string& midresult() const { 00046 return m_midMark; 00047 } 00048 00049 private: 00050 std::vector<HltCriteria *> m_criteriaVec; 00051 int m_SignaturePrescale; 00052 float m_SignatureForcedRate; 00053 bool m_SignatureVeto; 00054 std::string m_Sig_label; 00055 std::string m_result; 00056 std::string m_midMark; 00057 00058 int m_Id; 00059 int m_Predecessor_Id; 00060 int m_Successor_Id; 00061 MessageSvcProvider* m_msgSvcProvider; 00062 }; 00063 } 00064 #endif