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
00025
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