00001 #ifndef DTagAlg_ReadBeamInfFromDb_H 00002 #define DTagAlg_ReadBeamInfFromDb_H 00003 00004 #include "CLHEP/Vector/ThreeVector.h" 00005 #include "DatabaseSvc/IDatabaseSvc.h" 00006 #include <iostream> 00007 #include <mysql.h> 00008 00009 00010 class ReadBeamInfFromDb { 00011 00012 public: 00013 00014 ReadBeamInfFromDb(); 00015 ~ReadBeamInfFromDb() {} 00016 00017 bool isRunValid(int run); 00018 double getbeamE(int run, double defaultbeamE); 00019 inline CLHEP::Hep3Vector getbeta(){return m_beta;} 00020 inline bool setcalib(bool calib){m_usecbE=calib;} 00021 00022 private: 00023 MYSQL* OpenDb() const; 00024 double ReadDb(int run); 00025 void CloseDb(MYSQL* mysql) const; 00026 00027 IDatabaseSvc* m_dbsvc; 00028 int m_run; 00029 bool m_isRunValid; 00030 double m_beamE; 00031 bool m_usecbE; 00032 CLHEP::Hep3Vector m_beta; 00033 }; 00034 00035 00036 #endif