#include <ReadBeamInfFromDb.h>
Public Member Functions | |
double | getbeamE (int run, double defaultbeamE) |
double | getbeamE (int run, double defaultbeamE) |
double | getbeamE (int run) |
double | getbeamE (int run) |
bool | isRunValid (int run) |
bool | isRunValid (int run) |
bool | isRunValid (int run) |
bool | isRunValid (int run) |
ReadBeamInfFromDb () | |
ReadBeamInfFromDb () | |
ReadBeamInfFromDb () | |
ReadBeamInfFromDb () | |
~ReadBeamInfFromDb () | |
~ReadBeamInfFromDb () | |
~ReadBeamInfFromDb () | |
~ReadBeamInfFromDb () | |
Private Member Functions | |
void | CloseDb (MYSQL *mysql) const |
void | CloseDb (MYSQL *mysql) const |
void | CloseDb (MYSQL *mysql) const |
void | CloseDb (MYSQL *mysql) const |
MYSQL * | OpenDb () const |
MYSQL * | OpenDb () const |
MYSQL * | OpenDb () const |
MYSQL * | OpenDb () const |
double | ReadDb (int run) |
double | ReadDb (int run) |
void | ReadDb (int run) |
void | ReadDb (int run) |
Private Attributes | |
double | m_beamE |
bool | m_isRunValid |
int | m_run |
|
00003 : 00004 m_run(-1), 00005 m_isRunValid(false), 00006 m_beamE(0){ 00007 }
|
|
00014 {}
|
|
|
|
00014 {}
|
|
|
|
00013 {}
|
|
|
|
00013 {}
|
|
|
|
|
|
|
|
00030 { 00031 mysql_close(mysql); 00032 }
|
|
|
|
00088 { 00089 if (!isRunValid(run)){ 00090 return defaultbeamE; 00091 fprintf(stderr, "ERROR in ReadBeamInfFromDb: runNo is invalid!\n"); 00092 } 00093 return m_beamE; 00094 }
|
|
|
|
00082 { 00083 if (!isRunValid(run)){ 00084 fprintf(stderr, "ERROR in ReadBeamInfFromDb: runNo is invalid!\n"); 00085 } 00086 return m_beamE; 00087 }
|
|
|
|
|
|
|
|
00073 { 00074 if (run == -1 || m_run != run) { 00075 ReadDb(run); 00076 } 00077 00078 return m_isRunValid; 00079 }
|
|
|
|
|
|
|
|
00009 { 00010 00011 const char host[] = "bes3db2.ihep.ac.cn"; 00012 const char user[] = "guest"; 00013 const char passwd[] = "guestpass"; 00014 const char db[] = "run"; 00015 unsigned int port_num = 3306; 00016 00017 MYSQL* mysql = mysql_init(NULL); 00018 mysql = mysql_real_connect(mysql, host, user, passwd, db, port_num, 00019 NULL, // socket 00020 0); // client_flag 00021 00022 if (mysql == NULL) { 00023 fprintf(stderr, "can not open database: offlinedb\n"); 00024 } 00025 00026 return mysql; 00027 }
|
|
|
|
|
|
|
|
00035 { 00036 00037 m_run=run; 00038 m_isRunValid = false; 00039 00040 MYSQL* mysql=OpenDb(); 00041 00042 char stmt[1024]; 00043 snprintf(stmt, 1024, 00044 "select BER_PRB, BPR_PRB " 00045 "from RunParams where run_number = %d", run); 00046 if (mysql_real_query(mysql, stmt, strlen(stmt))) { 00047 fprintf(stderr, "query error\n"); 00048 return ; 00049 } 00050 00051 00052 MYSQL_RES* result_set = mysql_store_result(mysql); 00053 MYSQL_ROW row = mysql_fetch_row(result_set); 00054 if (!row) { 00055 fprintf(stderr, "cannot find data for RunNo %d\n", run); 00056 return ; 00057 } 00058 00059 m_isRunValid = true; 00060 00061 double E_E=0, E_P=0; 00062 sscanf(row[0], "%lf", &E_E); 00063 sscanf(row[1], "%lf", &E_P); 00064 00065 m_beamE=(E_E+E_P)/2.0; 00066 00067 // Free the memory to prevent memory leak! 00068 mysql_free_result(result_set); 00069 00070 CloseDb(mysql); 00071 }
|
|
|
|
|
|
|