/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DybOutputHeaderSvc.h
Go to the documentation of this file.
00001 
00013 #ifndef DYBOUTPUTHEADERSVC_H
00014 #define DYBOUTPUTHEADERSVC_H
00015 
00016 #include "DybKernel/IOutputHeaderSvc.h"
00017 
00018 #include "GaudiKernel/Service.h"
00019 #include "GaudiKernel/IIncidentListener.h"
00020 #include "GaudiKernel/IIncidentSvc.h"
00021 
00022 class Incident;
00023 namespace DayaBay {
00024     class HeaderObject;
00025 }
00026 class DybOutputHeaderSvc : public Service
00027                          , virtual public IOutputHeaderSvc
00028                          , virtual public IIncidentListener
00029 {
00030 public:
00031     DybOutputHeaderSvc(const std::string& name, ISvcLocator *svc);
00032 
00033     virtual ~DybOutputHeaderSvc();
00034 
00035     StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface);
00036 
00037     // IService
00038     virtual StatusCode initialize();
00039     virtual StatusCode finalize();
00040     //virtual StatusCode reinitialize();
00041 
00042     // IncidentListener
00043     virtual void handle(const Incident& incident);
00044 
00045     // IOutputHeaderSvc
00046 
00048     virtual OutputHeaders get(const DayaBay::IHeader& header);
00049     
00051     std::string path(const DayaBay::IHeader& header);
00052 
00054     virtual void clear();
00055 
00057     virtual void erase(const DayaBay::IHeader& header);
00058 
00060     virtual void add(const DayaBay::IHeader& header);
00061 
00062 
00063 
00064 private:
00065 
00066     typedef std::map<const DayaBay::IHeader*,OutputHeaders> OutputHeaderMap;
00067     OutputHeaderMap m_ohmap;
00068     typedef std::map<const DayaBay::IHeader*,std::string> OutputHeaderNameMap;    
00069     OutputHeaderNameMap m_names;
00070     std::string hostr(const DayaBay::HeaderObject& ho);
00071     void addHeaderName(const DayaBay::HeaderObject& ho);
00072     void removeHeaderName(const DayaBay::HeaderObject& ho);
00073     
00074     OutputHeaderMap::iterator find(const DayaBay::IHeader& header);
00075     bool in(OutputHeaders& oh, const DayaBay::IHeader& header);
00076     IIncidentSvc* m_incsvc;
00077 };
00078 
00079 
00080 #endif  // DYBOUTPUTHEADERSVC_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:09:08 for DybEventMgr by doxygen 1.7.4