#include <ConnectionDB.h>
Public Types | |
enum | eLevel { LEVELProd = 1, LEVELDev = 2, LEVELTest = 4, LEVELSuperseded = 8 } |
Used to form bit masks for dbs queries. More... | |
enum | eLevel { LEVELProd = 1, LEVELDev = 2, LEVELTest = 4, LEVELSuperseded = 8 } |
Used to form bit masks for dbs queries. More... | |
enum | eRet { RETOk = 0, RETBadCnfFile = 1, RETBadHost = 2, RETNoConnect = 3, RETWrongState = 4, RETBadValue = 5, RETMySQLError = 6, RETNoSchemaMatch = 7 } |
enum | eRet { RETOk = 0, RETBadCnfFile = 1, RETBadHost = 2, RETNoConnect = 3, RETWrongState = 4, RETBadValue = 5, RETMySQLError = 6, RETNoSchemaMatch = 7 } |
Public Member Functions | |
ConnectionDB () | |
Constructor keeps track of table of interest. | |
ConnectionDB () | |
Constructor keeps track of table of interest. | |
ConnectionDB::eRet | getReadSC_MagnetInfo (std::vector< double > ¤t, int runNo) |
ConnectionDB::eRet | getReadSC_MagnetInfo (std::vector< double > ¤t, int runNo) |
~ConnectionDB () | |
~ConnectionDB () | |
Private Attributes | |
IDatabaseSvc * | m_dbsvc |
IDatabaseSvc * | m_dbsvc |
|
Used to form bit masks for dbs queries.
00026 { 00027 LEVELProd = 1, 00028 LEVELDev = 2, 00029 LEVELTest = 4, 00030 LEVELSuperseded = 8 00031 };
|
|
Used to form bit masks for dbs queries.
00026 { 00027 LEVELProd = 1, 00028 LEVELDev = 2, 00029 LEVELTest = 4, 00030 LEVELSuperseded = 8 00031 };
|
|
00015 { 00016 RETOk = 0, 00017 RETBadCnfFile = 1, 00018 RETBadHost = 2, 00019 RETNoConnect = 3, 00020 RETWrongState = 4, 00021 RETBadValue = 5, 00022 RETMySQLError = 6, 00023 RETNoSchemaMatch = 7 00024 };
|
|
00015 { 00016 RETOk = 0, 00017 RETBadCnfFile = 1, 00018 RETBadHost = 2, 00019 RETNoConnect = 3, 00020 RETWrongState = 4, 00021 RETBadValue = 5, 00022 RETMySQLError = 6, 00023 RETNoSchemaMatch = 7 00024 };
|
|
Constructor keeps track of table of interest.
00016 { 00017 StatusCode sc = Gaudi::svcLocator()->service("DatabaseSvc", m_dbsvc, true); 00018 if (sc .isFailure() ) { 00019 std::cout << "ERROR: In ConnectionDB()--> Unable to find DatabaseSvc " << std::endl; 00020 } 00021 }
|
|
00023 { 00024 }
|
|
Constructor keeps track of table of interest.
|
|
|
|
|
|
00026 { 00027 //Read magnetic field map 00028 char stmt1[200]; 00029 int run_No = std::abs(runNo); 00030 00031 sprintf(stmt1,"select Magnet_Current,SCQL,SCQR from SC_magnet where run_number = %d ",run_No); 00032 00033 DatabaseRecordVector results; 00034 results.clear(); 00035 int status = m_dbsvc->query("run",stmt1,results); 00036 if(status<0){ 00037 std::cout << "ERROR Read the SSM and SCQ current from the Database" << endreq; 00038 exit(1); 00039 } 00040 int RowNumber = results.size(); 00041 if(RowNumber!=1){ 00042 std::cout<<"ERROR:error searching SC_Magnet Data in the database, check your selection criterions"<<std::endl; 00043 return RETMySQLError; 00044 } 00045 00046 current.push_back(atof((*results[0])["Magnet_Current"])); 00047 current.push_back(atof((*results[0])["SCQL"])); 00048 current.push_back(atof((*results[0])["SCQR"])); 00049 00050 return RETOk; 00051 }
|
|
|
|
|