00001 /*********************************************************** 00002 * 00003 * EventFilter information 00004 * 00005 * ********************************************************/ 00006 00007 #ifndef EVENT_HLT_INF_H 00008 #define EVENT_HLT_INF_H 00009 00010 #include "Identifier/Identifier.h" 00011 #include "HltEvent/DstHltInf.h" 00012 #include <vector> 00013 00014 extern const CLID& CLID_HltInf; 00015 00016 class HltInf : public DstHltInf{ 00017 public: 00018 virtual const CLID& clID() const{ return HltInf::classID();} 00019 static const CLID& classID(){return CLID_HltInf;} ; 00020 00021 //ctor and dector 00022 HltInf(const unsigned int type, const unsigned int alg, const unsigned int cri, 00023 const unsigned int ver, const float etot); 00024 HltInf(); 00025 ~HltInf(); 00026 00027 HltInf(const DstHltInf& aHlt); 00028 HltInf& operator=(const DstHltInf& aHlt); 00029 00030 //modifiers 00031 virtual void push_mdc(uint32_t data) { m_mdcData.push_back(data);}; 00032 virtual void push_tof(uint32_t data) { m_tofData.push_back(data);}; 00033 virtual void push_emc(uint32_t data) { m_emcData.push_back(data);}; 00034 virtual void push_muc(uint32_t data) { m_mucData.push_back(data);}; 00035 virtual void push_con(uint32_t data) { m_conData.push_back(data);}; 00036 virtual void push_mdc(float data) { m_mdcData.push_back(*((uint32_t*)&data));}; 00037 virtual void push_tof(float data) { m_tofData.push_back(*((uint32_t*)&data));}; 00038 virtual void push_emc(float data) { m_emcData.push_back(*((uint32_t*)&data));}; 00039 virtual void push_muc(float data) { m_mucData.push_back(*((uint32_t*)&data));}; 00040 virtual void push_con(float data) { m_conData.push_back(*((uint32_t*)&data));}; 00041 virtual bool setData(const Identifier& id, float data){return setData(id,(*((uint32_t*)&data)));}; 00042 virtual bool setData(const Identifier&, uint32_t); 00043 virtual void setMdcData(const std::vector<uint32_t>& vec) {m_mdcData=vec;}; 00044 virtual void setTofData(const std::vector<uint32_t>& vec) {m_tofData=vec;}; 00045 virtual void setEmcData(const std::vector<uint32_t>& vec) {m_emcData=vec;}; 00046 virtual void setMucData(const std::vector<uint32_t>& vec) {m_mucData=vec;}; 00047 virtual void setConData(const std::vector<uint32_t>& vec) {m_conData=vec;}; 00048 00049 // 00050 std::vector<uint32_t>& getDataVec(const Identifier&) ; 00051 std::vector<uint32_t>& getDataVec(const uint32_t) ; 00052 virtual bool getData(const Identifier&, uint32_t*) ; 00053 00054 virtual void print() const; 00055 00056 private: 00057 std::vector<uint32_t> m_mdcData; 00058 std::vector<uint32_t> m_tofData; 00059 std::vector<uint32_t> m_emcData; 00060 std::vector<uint32_t> m_mucData; 00061 std::vector<uint32_t> m_conData; 00062 }; 00063 00064 ostream& operator<<(ostream & os, const HltInf& aHlt); 00065 00066 #endif//EVENT_HLT_INF_H