00001 /****** Write By Lianjin WU <wulj@ihep.ac.cn> ******/ 00002 /****** Reading offline beam information ******/ 00003 #ifndef Analysis_ReadME_H 00004 #define Analysis_ReadME_H 00005 /******/ 00006 #include "GaudiKernel/IDataProviderSvc.h" 00007 #include "GaudiKernel/ISvcLocator.h" 00008 #include "GaudiKernel/PropertyMgr.h" 00009 #include "GaudiKernel/MsgStream.h" 00010 #include "GaudiKernel/Bootstrap.h" 00011 #include "GaudiKernel/AlgFactory.h" 00012 #include "DatabaseSvc/IDatabaseSvc.h" 00013 #include <iostream> 00014 #include <fstream> 00015 #include <string> 00016 #include <iomanip> 00017 #include <mysql.h> 00018 #include <string.h> 00019 class ReadME{ 00020 public: 00021 ReadME(int runNo){ 00022 if(runNo!=preRunNo){ 00023 preRunNo=runNo; 00024 readMeasuredEcms(runNo); 00025 } 00026 } 00027 virtual ~ReadME(){} 00028 /******/ 00029 void readMeasuredEcms(int runNo); 00030 int getSampleName(){return m_sampleName;} 00031 int getRunFrom(){return m_runFrom;} 00032 int getRunTo(){return m_runTo;} 00033 bool isRunNoValid(){return m_runNoValid;} 00034 double getEcms(){return m_ecms;} 00035 double getEcmsErr(){return m_ecmsErr;} 00036 double getAveEcms(){return m_aveEcms;} 00037 double getAveEcmsErr(){return m_aveEcmsErr;} 00038 private: 00039 IDatabaseSvc* m_dbSvc; 00040 static int preRunNo; 00041 int m_sampleName, m_runFrom, m_runTo; 00042 double m_ecms, m_ecmsErr, m_aveEcms, m_aveEcmsErr; 00043 bool m_runNoValid; 00044 }; 00045 #endif