/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 00012 #ifndef ROBUFFERSVC_H 00013 #define ROBUFFERSVC_H 00014 00015 #include "ROBufferSvc/IROBufferSvc.h" 00016 00017 #include "GaudiKernel/Service.h" 00018 #include "GaudiKernel/MsgStream.h" 00019 00020 #include "Event/ReadoutHeader.h" 00021 #include "Event/SimReadoutHeader.h" 00022 00023 #include <map> 00024 #include <deque> 00025 #include <vector> 00026 00027 using namespace std; 00028 00029 class ROBufferSvc : public Service, 00030 virtual public IROBufferSvc 00031 { 00032 public: 00033 ROBufferSvc(const string& name, ISvcLocator* pSvcLocator); 00034 virtual ~ROBufferSvc(); 00035 00036 virtual StatusCode initialize(); 00037 virtual StatusCode queryInterface(const InterfaceID& riid, void** ppint); 00038 00039 //Three interfaces for ROBufferSvc 00040 virtual StatusCode setROHeaders(SimReadoutHeader* sroh); 00041 virtual ReadoutHeader* getROHeader(); 00042 virtual deque<MixHeader>::size_type getMBufferSize(); 00043 00044 private: 00045 mutable MsgStream m_log; 00046 deque<MixHeader> m_mhBuffer; 00047 }; 00048 00049 #endif //ROBUFFERSVC_H