Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FieldDBUtil::ConnectionDB Class Reference

#include <ConnectionDB.h>

List of all members.

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 > &current, int runNo)
ConnectionDB::eRet getReadSC_MagnetInfo (std::vector< double > &current, int runNo)
 ~ConnectionDB ()
 ~ConnectionDB ()

Private Attributes

IDatabaseSvcm_dbsvc
IDatabaseSvcm_dbsvc


Member Enumeration Documentation

enum FieldDBUtil::ConnectionDB::eLevel
 

Used to form bit masks for dbs queries.

Enumeration values:
LEVELProd 
LEVELDev 
LEVELTest 
LEVELSuperseded 
00026                 {
00027       LEVELProd = 1,
00028       LEVELDev  = 2,
00029       LEVELTest = 4,
00030       LEVELSuperseded = 8
00031     };

enum FieldDBUtil::ConnectionDB::eLevel
 

Used to form bit masks for dbs queries.

Enumeration values:
LEVELProd 
LEVELDev 
LEVELTest 
LEVELSuperseded 
00026                 {
00027       LEVELProd = 1,
00028       LEVELDev  = 2,
00029       LEVELTest = 4,
00030       LEVELSuperseded = 8
00031     };

enum FieldDBUtil::ConnectionDB::eRet
 

Enumeration values:
RETOk 
RETBadCnfFile 
RETBadHost 
RETNoConnect 
RETWrongState 
RETBadValue 
RETMySQLError 
RETNoSchemaMatch 
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     };

enum FieldDBUtil::ConnectionDB::eRet
 

Enumeration values:
RETOk 
RETBadCnfFile 
RETBadHost 
RETNoConnect 
RETWrongState 
RETBadValue 
RETMySQLError 
RETNoSchemaMatch 
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 & Destructor Documentation

FieldDBUtil::ConnectionDB::ConnectionDB  ) 
 

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   }

FieldDBUtil::ConnectionDB::~ConnectionDB  ) 
 

00023                               {
00024   }

FieldDBUtil::ConnectionDB::ConnectionDB  ) 
 

Constructor keeps track of table of interest.

FieldDBUtil::ConnectionDB::~ConnectionDB  ) 
 


Member Function Documentation

ConnectionDB::eRet FieldDBUtil::ConnectionDB::getReadSC_MagnetInfo std::vector< double > &  current,
int  runNo
 

ConnectionDB::eRet FieldDBUtil::ConnectionDB::getReadSC_MagnetInfo std::vector< double > &  current,
int  runNo
 

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   }


Member Data Documentation

IDatabaseSvc* FieldDBUtil::ConnectionDB::m_dbsvc [private]
 

IDatabaseSvc* FieldDBUtil::ConnectionDB::m_dbsvc [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:21:17 2011 for BOSS6.5.5 by  doxygen 1.3.9.1