00001 /* 00002 * ReconAlg 00003 * 00004 * Reconstruction Algorithm 00005 * 00006 * dandwyer@caltech.edu 00007 * 00008 */ 00009 00010 #ifndef RECONALG_H 00011 #define RECONALG_H 1 00012 00013 #include "DybAlg/DybAlgorithm.h" 00014 #include "Event/RecHeader.h" 00015 00016 #include <string> 00017 #include <vector> 00018 #include <map> 00019 00020 class IReconTool; 00021 00022 class ReconAlg : public DybAlgorithm<DayaBay::RecHeader> 00023 { 00024 public: 00025 ReconAlg(const std::string& name,ISvcLocator* pSvcLocator); 00026 virtual ~ReconAlg(); 00027 00028 virtual StatusCode initialize(); 00029 virtual StatusCode execute(); 00030 virtual StatusCode finalize(); 00031 00032 private: 00033 00038 std::string m_calibLocation; 00039 00040 // Property ReconStyles 00041 // A map of reconstruction styles and associated tool names 00042 std::vector<std::string> m_reconToolNames; 00043 00044 // Handles for reconstruction tools 00045 std::vector<IReconTool*> m_reconTools; 00046 }; 00047 00048 #endif // RECONALG_H