00001 00012 #ifndef ADPLOTTERALG_H 00013 #define ADPLOTTERALG_H 00014 00015 00016 #include "Conventions/Detectors.h" 00017 #include "GaudiAlg/GaudiAlgorithm.h" 00018 00019 #include <string> 00020 #include <map> 00021 00022 class AdExamplePlots; 00023 class ITHistSvc; 00024 class ICableSvc; 00025 class ICoordSysSvc; 00026 00027 class AdPlotterAlg : public GaudiAlgorithm 00028 { 00029 00030 public: 00031 00032 AdPlotterAlg(const std::string& name, ISvcLocator* pSvcLocator); 00033 virtual ~AdPlotterAlg(); 00034 00035 virtual StatusCode initialize(); 00036 virtual StatusCode execute(); 00037 virtual StatusCode finalize(); 00038 00039 private: 00040 00043 std::string m_location; 00044 00047 std::string m_filepath; 00048 00050 bool m_findCoincidence; 00051 00052 private: 00053 00054 // Locally cached pointer to the (T) histogram service 00055 ITHistSvc* m_hsvc; 00056 // Resolve channel<-->pmt mapping 00057 ICableSvc* m_cable; 00058 // Access coordinate system 00059 ICoordSysSvc* m_coord; 00060 00061 typedef std::map<DayaBay::Detector,AdExamplePlots*> PlotMap; 00062 PlotMap m_plots; 00063 }; 00064 00065 #endif // ADPLOTTERALG_H