00001 #ifndef EMCBUILDER_H 00002 #define EMCBUILDER_H 00003 00004 #include "RawDataCnv/EventManagement/Builder.h" 00005 #include "EmcRawEvent/EmcDigi.h" 00006 00007 using namespace std; 00008 00009 class EmcBuilder: public Builder 00010 { 00011 00012 public: 00013 EmcBuilder (); 00014 virtual ~EmcBuilder(); 00015 StatusCode initialize(string &initFile); 00016 uint32_t getTEID(uint32_t reid) { return m_re2te[reid]; } 00017 uint32_t getREID(uint32_t teid); 00018 void unPack (uint32_t reDigi, uint32_t &REId, uint32_t &TETDC, uint32_t &TEADC, uint32_t &measure); 00019 StatusCode pack(EmcDigiCol* digiCol, WriteRawEvent*& re); 00020 00021 private: 00022 //string initFile; 00023 uint32_t m_idIndex; 00024 uint32_t m_idMask; 00025 uint32_t m_overflowIndex; 00026 uint32_t m_overflowMask; 00027 uint32_t m_TQIndex; 00028 uint32_t m_TQMask; 00029 uint32_t m_tdcIndex; 00030 uint32_t m_tdcMask; 00031 uint32_t m_measureIndex; 00032 uint32_t m_measureMask; 00033 uint32_t m_adcIndex; 00034 uint32_t m_adcMask; 00035 00036 uint32_t* m_re2te; 00037 TE2REMAP m_te2reMap; 00038 00039 PropertyMgr m_propMgr; 00040 }; 00041 #endif