00001 #ifndef EMC_CONVERTER_H 00002 #define EMC_CONVERTER_H 00003 00004 #include "GaudiKernel/StatusCode.h" 00005 #include "RawDataCnv/EventManagement/EmcBuilder.h" 00006 #include "RawDataCnv/Util/BufferHolder.h" 00007 #include "EmcRawEvent/EmcDigi.h" 00008 00009 class EmcRawDataProvider; 00010 00011 class EmcConverter { 00012 00013 public: 00014 00015 // static interfaces 00016 static EmcConverter* instance(int runMode = 2); //default OfflineMode 00017 static void destroy(); 00018 00019 // public interfaces 00020 StatusCode convert(const BufferHolder& src, EmcDigiCol* des); 00021 StatusCode convert(EmcDigiCol* src, WriteRawEvent*& des); 00022 00023 00024 private: 00025 00026 // private methods 00027 EmcConverter(int runMode); //get its intance via the static interface! 00028 ~EmcConverter(); 00029 00030 EmcConverter(); //stop default 00031 00032 // private data members 00033 int m_runMode; //reference to the RunMode of RawDataInputSvc 00034 00036 EmcRawDataProvider* m_EmcProvider; 00037 00038 EmcBuilder m_builder; 00039 00040 // static data members 00041 static EmcConverter* s_instance; 00042 }; 00043 00044 #endif