9#include "GaudiKernel/Bootstrap.h"
10#include "GaudiKernel/IJobOptionsSvc.h"
11#include "GaudiKernel/ISvcLocator.h"
12#include "GaudiKernel/PropertyMgr.h"
19int ReadEb::previousRun=-1;
20double ReadEb::m_Ecms=3.773;
21double ReadEb::m_xangle=0.011;
24MYSQL* ReadEb::OpenDb()
const {
26 const char host[] =
"bes3db2.ihep.ac.cn";
27 const char user[] =
"guest";
28 const char passwd[] =
"guestpass";
30 const char db[] =
"offlinedb";
31 unsigned int port_num = 3306;
34 mysql = mysql_real_connect(mysql, host, user, passwd, db, port_num,
39 fprintf(stderr,
"can not open database: offlinedb\n");
46void ReadEb::CloseDb(
MYSQL* mysql)
const {
51void ReadEb::ReadDb(
int run){
54 Gaudi::svcLocator()->service(
"DatabaseSvc",m_dbsvc,
true);
59 "select beam_energy, px, py, pz "
60 "from RunParams664 where run_number = %d", run);
61 DatabaseRecordVector res;
62 int row_no = m_dbsvc->query(
"offlinedb", stmt1, res);
64 std::cout<<
"Failed to read offline database"<<std::endl;abort();
67 DatabaseRecord* records = res[0];
88 "select BER_PRB, BPR_PRB "
89 "from RunParams where run_number = %d", run);
90 DatabaseRecordVector res;
91 int row_no = m_dbsvc->query(
"run", stmt1, res);
93 std::cout<<
"Failed to read online database"<<std::endl;abort();
96 DatabaseRecord* records = res[0];
100 m_beamE=(E_E+E_P)/2.0;
double GetDouble(std::string key)