00001
00011 #ifndef EFRESULT_H
00012 #define EFRESULT_H
00013
00014 #include <vector>
00015 #include <string>
00016 #include <stdint.h>
00017
00018 #include "GaudiKernel/DataObject.h"
00019
00020
00021
00022 static const CLID& CLID_EFResult=11006;
00023
00024 class EFResult: public DataObject
00025 {
00026
00027 public:
00028
00029
00030 EFResult(std::vector<std::string>);
00031
00032 EFResult(std::vector<uint32_t>,uint32_t);
00033
00034 EFResult();
00035
00036 virtual ~EFResult();
00037
00038
00039 static const CLID& classID();
00040
00041 virtual const CLID& clID() const;
00042
00043
00044 const std::vector<uint32_t> getEFVec() const;
00045 const uint32_t getEFVec(uint32_t pos) const;
00046
00047
00048 bool push_back(uint32_t val);
00049 bool appToEFVec(double val,uint32_t pos);
00050 bool addToEFVec(uint32_t val,uint32_t pos);
00051 bool setVecBit(uint32_t val,uint32_t vecpos,uint32_t bbegin,uint32_t bend);
00052 bool setVecBit(bool val,uint32_t vecpos,uint32_t bitpos);
00053
00054
00055 void setAnswer(std::string &answer);
00056 void setMidAnswer(std::string &answer);
00058 void reset();
00059
00060
00061 const std::string getAnswer() const;
00062 const std::string getMidAnswer() const;
00063
00064
00065 const int getAnswerIndex() const;
00066 const int getMidAnswerIndex() const;
00067
00068 const int getDecNum() const{
00069 if(m_efVec.size()>=54)return m_efVec.size()-54;
00070 else return 0;
00071 }
00072 private:
00073 std::vector<std::string> m_answerVector;
00074 int m_answerIndex;
00075 int m_midanswerIndex;
00076 std::vector<uint32_t> m_efVec;
00077 };
00078
00079
00080
00081 #endif