/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 // 00002 // This algorithm is attached to the end of 00003 // top user algorithms list when AES is chosen to use. 00004 // It will invoke store and trimming service in execute() and finalize(). 00005 // Some detail is in DocDB #3217. 00006 // 00007 // Author: Zhe Wang Feb 08, 2009 00008 // 00009 00010 #ifndef _DYB_TRIM_IO_H_ 00011 #define _DYB_TRIM_IO_H_ 00012 00014 00015 #include "GaudiAlg/GaudiAlgorithm.h" 00016 #include <string> 00017 00018 // IO 00019 class ISaveB4TrimAesSvc; 00020 class IDybStorageSvc; 00021 00022 // trimming 00023 class IDataManagerSvc; 00024 class IArchiveTrimSvc; 00025 00026 class DybTrimIO:public GaudiAlgorithm { 00027 public: 00028 00029 DybTrimIO (const std::string& name, ISvcLocator* pSvcLocator); 00030 StatusCode initialize(); 00031 StatusCode execute(); 00032 StatusCode finalize(); 00033 00034 private: 00035 00036 // save or not, trimming is mandatory while saving is optional 00037 bool m_saveFlag; 00038 00039 // location to determine "now" time 00040 std::string m_nowLocation; 00041 00042 // RegistrationSequence Location 00043 std::string m_regSeqLocation; 00044 00045 00048 ISaveB4TrimAesSvc* m_pSaveB4TrimAesSvc; 00049 std::string m_pSaveB4TrimAesSvcName; 00050 00052 IDybStorageSvc* m_pDybStorageSvc; 00053 std::string m_pDybStorageSvcName; 00054 00056 IDataManagerSvc* m_pArchiveSvc; 00057 std::string m_pArchiveSvcName; 00058 00060 IArchiveTrimSvc* m_pTrimSvc; 00061 std::string m_pTrimSvcName; 00062 }; 00063 00064 #endif // _DYB_TRIM_IO_H_ 00065