00001 #ifndef TOF_CONVERTER_H
00002 #define TOF_CONVERTER_H
00003
00004 #include "GaudiKernel/StatusCode.h"
00005 #include "RawDataCnv/EventManagement/TofBuilder.h"
00006 #include "RawDataCnv/Util/BufferHolder.h"
00007 #include "TofRawEvent/TofDigi.h"
00008 #include "LumiDigi/LumiDigi.h"
00009
00010 class TofConverter {
00011
00012 public:
00013
00014
00015 static TofConverter* instance();
00016 static void destroy();
00017
00018
00019 StatusCode convert(const BufferHolder& src, TofDigiCol* des, LumiDigiCol* des2 = 0);
00020
00021 StatusCode convert(const BufferHolder& tof,
00022 const BufferHolder& etf,
00023 TofDigiCol* des,
00024 LumiDigiCol* des2 = 0);
00025
00026 StatusCode convert(TofDigiCol* src, WriteRawEvent*& des);
00027
00028
00029 private:
00030
00031
00032 TofConverter();
00033 ~TofConverter();
00034
00035 void unPackETF(uint32_t reDigi, uint32_t& TEId, uint32_t& TEData,
00036 uint32_t& TEOverflow, uint32_t& TETorQ);
00037
00038
00039 TofBuilder m_builder;
00040
00041
00042 static TofConverter* s_instance;
00043 };
00044
00045 #endif