/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 00011 #ifndef DYBARCHIVEOUTPUT_H 00012 #define DYBARCHIVEOUTPUT_H 00013 00014 #include "DybKernel/IDybStorageSvc.h" 00015 #include "Event/RegistrationSequence.h" 00016 #include "DataUtilities/DybArchiveList.h" 00017 00018 #include "GaudiKernel/IDataManagerSvc.h" 00019 #include "GaudiAlg/GaudiAlgorithm.h" 00020 #include "GaudiKernel/IIncidentSvc.h" 00021 00022 #include <string> 00023 00024 class IDataManagerSvc; 00025 00026 class DybArchiveOutput: public GaudiAlgorithm { 00027 public: 00028 DybArchiveOutput (const std::string& name, ISvcLocator* pSvcLocator); 00029 00030 StatusCode initialize(); 00031 StatusCode execute(); 00032 StatusCode finalize(); 00033 StatusCode stop(); 00034 00035 private: 00036 // Property: WindowSeconds: time window (in seconds) to apply to 00037 // the AES by default. 00038 double m_window; 00039 00040 // Property SaveOutput: if false do not write output 00041 bool m_saveFlag; 00042 00043 // Property: RegSeqLocation: location of the RegistrationSequence stream. 00044 std::string m_regSeqLocation; 00045 00046 // Property: ArchiveSvc: name of the Archive Event Service. 00047 std::string m_aesName; 00048 IDataProviderSvc* m_aes; 00049 00050 // Property: DybStorageSvc: name of a IDybStorageSvc. 00051 std::string m_dybStorageSvcName; 00052 IDybStorageSvc* m_store; 00053 00054 IIncidentSvc* m_incsvc; 00055 00056 DayaBay::RegistrationSequence* condemned(); 00057 StatusCode erase(const DataObject* object, const std::string& path); 00058 StatusCode store(DayaBay::RegistrationSequence* rs); 00059 StatusCode trim(DayaBay::RegistrationSequence* rs); 00060 StatusCode process(DayaBay::RegistrationSequence* rs); 00061 StatusCode sweep_up(); 00062 00063 typedef std::map<std::string,DybArchiveList*> AESListMap_t; 00064 AESListMap_t m_aesListMap; 00065 DybArchiveList* aes_list(const std::string& location); 00066 DybArchiveList::iterator find_in_archive(DybArchiveList* aeslist, const DataObject* object); 00067 00068 }; 00069 #endif // DYBARCHIVEOUTPUT_H 00070