00001 #ifndef MUCBUILDER_H 00002 #define MUCBUILDER_H 00003 00004 #include "RawDataCnv/EventManagement/Builder.h" 00005 #include "MucRawEvent/MucDigi.h" 00006 00007 00008 using namespace std; 00009 00010 class MucBuilder: public Builder 00011 { 00012 00013 public: 00014 MucBuilder (); 00015 virtual ~MucBuilder(); 00016 virtual StatusCode initialize(string &initFile); 00017 virtual uint32_t getTEID(uint32_t reid) { 00018 if ( reid > 1023 ) return 0xFFFFFFFF; 00019 return m_re2te[reid]; 00020 } 00021 virtual uint32_t getREID(uint32_t teid); 00022 virtual void unPack (uint32_t reDigi, uint32_t &REId, uint32_t &FecData, uint32_t &StrSqc); 00023 virtual StatusCode pack(MucDigiCol* digiCol, WriteRawEvent*& re); 00024 00025 private: 00026 //string initFile; 00027 uint32_t m_idIndex; 00028 uint32_t m_idMask; 00029 uint32_t m_overflowIndex; 00030 uint32_t m_overflowMask; 00031 uint32_t m_TQIndex; 00032 uint32_t m_TQMask; 00033 00034 uint32_t* m_re2te; 00035 uint32_t* strSqcVec; 00036 TE2REMAP m_te2reMap; 00037 00038 PropertyMgr m_propMgr; 00039 string m_fec2idFile; 00040 }; 00041 #endif