/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/EventFilter/HltUtilities/HltDataTypes/HltDataTypes-01-01-03/HltDataTypes/EFResult.h

Go to the documentation of this file.
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 //hxt #include "CLIDSvc/CLASS_DEF.h" 
00021 
00022 static const CLID& CLID_EFResult=11006;
00023 
00024 class EFResult: public DataObject
00025 {
00026       
00027  public:
00028 
00029   /* Constructor: Fill possible answers list */
00030   EFResult(std::vector<std::string>);
00031   /* Constructor: Fill data members vector */
00032   EFResult(std::vector<uint32_t>,uint32_t);
00033   /* Empty constructor: Init to 0 */
00034   EFResult();
00035   /* Destructor */
00036   virtual ~EFResult();
00037 
00038   /*EFResult CLID accessor.*/
00039   static const CLID& classID();
00040   /*EFResult CLID accessor.*/
00041   virtual const  CLID& clID() const;
00042 
00043   /* Method returning the EFResult 32bit ints vector contents */
00044   const std::vector<uint32_t> getEFVec() const;
00045   const uint32_t getEFVec(uint32_t pos) const;
00046 
00047   /* Method appending 32bit ints to the EF vector contents */
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   /* Method to store the EF answer */
00055   void setAnswer(std::string &answer);
00056   void setMidAnswer(std::string &answer);
00058   void reset();
00059 
00060   /* Method to retrieve the EF answer string */
00061   const std::string getAnswer() const;
00062   const std::string getMidAnswer() const;
00063 
00064   /* Method to retrieve the EF answer (string vector) index */
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 //hxt  CLASS_DEF(EFResult ,11006,0)
00080 
00081 #endif

Generated on Tue Nov 29 23:12:07 2016 for BOSS_7.0.2 by  doxygen 1.4.7