00001 #ifndef MDCBUILDER_H 00002 #define MDCBUILDER_H 00003 00004 #include "RawDataCnv/EventManagement/Builder.h" 00005 #include "MdcRawEvent/MdcDigi.h" 00006 00007 using namespace std; 00008 00009 class MdcBuilder: public Builder 00010 { 00011 00012 public: 00013 MdcBuilder (); 00014 virtual ~MdcBuilder(); 00015 virtual StatusCode initialize(string &initFile); 00016 virtual uint32_t getTEID(uint32_t reid) { return m_re2te[reid]; } 00017 virtual uint32_t getREID(uint32_t teid); 00018 virtual void unPack (uint32_t reDigi, uint32_t &REId, uint32_t &TEData, 00019 uint32_t &overFlow, uint32_t &TorQ); 00020 virtual StatusCode pack(MdcDigiCol* digiCol, WriteRawEvent*& re); 00021 00022 private: 00023 //string initFile; 00024 uint32_t m_idIndex; 00025 uint32_t m_idMask; 00026 uint32_t m_dataIndex; 00027 uint32_t m_dataMask; 00028 uint32_t m_overflowIndex; 00029 uint32_t m_overflowMask; 00030 uint32_t m_TQIndex; 00031 uint32_t m_TQMask; 00032 00033 uint32_t* m_re2te; 00034 TE2REMAP m_te2reMap; 00035 00036 PropertyMgr m_propMgr; 00037 }; 00038 #endif