00001 00002 #ifndef CALIBPMTWRITER_H 00003 #define CALIBPMTWRITER_H 00004 00005 //#include "DbiDataSvc/CalibPmtSpec.h" 00006 //#include "GaudiKernel/Service.h" 00007 #include "GaudiAlg/GaudiTool.h" 00008 #include "DBWriter/CalibWriter.h" 00009 00010 00011 //#include "DaqRunInfoSvc/DaqRunInfo.h" 00012 //#include "DaqRunInfoSvc/IDaqRunInfoSvc.h" 00013 #include "DBWriter/ICalibWriter.h" 00014 #include "DatabaseInterface/DbiWriter.tpl" 00015 #ifdef I_LIKE_DUPLICITY 00016 #include "DbiDataSvc/CalibPmtSpec.h" 00017 #else 00018 #include "genDbi/GCalibPmtSpec.h" 00019 #endif 00020 #include "Context/Context.h" 00021 #include "Context/ContextRange.h" 00022 #include <string> 00023 #include <iostream> 00024 using namespace std; 00025 class CalibPmtWriter :public ICalibWriter , public GaudiTool , public CalibWriter 00026 { 00027 00028 public: 00029 CalibPmtWriter(const string& type, 00030 const string& name, 00031 const IInterface* parent); 00032 virtual ~CalibPmtWriter(); 00033 virtual StatusCode initialize(); 00034 virtual StatusCode finalize(); 00035 int setRunNo(int); //input file's run number; 00036 int setFileName(string); //input file's run number; 00037 int setTimeWindow(int); 00038 int run(); 00039 virtual void setSubsite(int subSite); 00040 virtual void setIsSim(bool isSim); 00041 virtual void setSiteMask(int siteMask); 00042 //int writeToDB(); 00043 //int init(); 00044 //int final(); 00045 private: 00046 //int getRunInfo(/*int*/); 00047 //int runNumber; 00048 //ContextRange range; 00049 // Int_t aggNo; 00050 // Dbi::SubSite subsite; 00051 // Dbi::Task task; 00052 //IDaqRunInfoSvc* m_daqRunInfoSvc; 00053 virtual int init(); 00054 virtual int final(); 00055 #ifdef I_LIKE_DUPLICITY 00056 DbiWriter<CalibPmtSpec>* myWriter; 00057 #else 00058 DbiWriter<GCalibPmtSpec>* myWriter; 00059 #endif 00060 int fillRow(); 00061 //CalibPmtSpec row; 00062 //string m_daqRunInfoSvcName; 00063 protected : 00064 00065 }; 00066 00067 #endif