00001 #ifndef MDC_CONVERTER_H 00002 #define MDC_CONVERTER_H 00003 00004 #include "GaudiKernel/StatusCode.h" 00005 #include "RawDataCnv/EventManagement/MdcBuilder.h" 00006 #include "RawDataCnv/Util/BufferHolder.h" 00007 #include "MdcRawEvent/MdcDigi.h" 00008 00009 class MdcConverter { 00010 00011 public: 00012 00013 // static interfaces 00014 static MdcConverter* instance(int runMode = 2); //default OfflineMode 00015 static void destroy(); 00016 00017 // public interfaces 00018 void init(int runFrom, int runTo); 00019 void setRunId(int runId) { m_runId = runId; } 00020 StatusCode convert(const BufferHolder& src, MdcDigiCol* des); 00021 StatusCode convert(MdcDigiCol* src, WriteRawEvent*& des); 00022 00023 00024 private: 00025 00026 // private methods 00027 MdcConverter(int runMode); //get its intance via the static interface! 00028 ~MdcConverter(); 00029 00030 MdcConverter(); //stop default 00031 00032 // private data members 00033 int m_runMode; //reference to the RunMode of RawDataInputSvc 00034 00035 int m_runId; 00036 int m_runFrom; 00037 int m_runTo; 00038 00039 uint32_t m_mdcTag[16384][4]; 00040 00041 MdcBuilder m_builder; 00042 00043 // static data members 00044 static MdcConverter* s_instance; 00045 }; 00046 00047 #endif